28#include "civector.hpp"
30#include "civector.inl"
33#include "iveccvec.inl"
49 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const civector &)"));
62 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const civector &)"));
75 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const civector_slice &)"));
88 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const civector_slice &)"));
101 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector &, const civector &)"));
107 addDot(tmp_re,rv1,Re(rv2));
108 addDot(tmp_im,rv1,Im(rv2));
120 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const rvector &)"));
126 addDot(tmp_re,Re(rv1),rv2);
127 addDot(tmp_im,Im(rv1),rv2);
139 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector_slice &, const civector &)"));
145 addDot(tmp_re,sl,Re(rv));
146 addDot(tmp_im,sl,Im(rv));
158 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice&, const rvector &)"));
164 addDot(tmp_re,Re(sl),rv);
165 addDot(tmp_im,Im(sl),rv);
177 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector &, const civector_slice &)"));
183 addDot(tmp_re,rv,Re(sl));
184 addDot(tmp_im,rv,Im(sl));
196 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const rvector_slice &)"));
202 addDot(tmp_re,Re(rv),sl);
203 addDot(tmp_im,Im(rv),sl);
215 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const rvector_slice &)"));
221 addDot(tmp_re,Re(sl1),sl2);
222 addDot(tmp_im,Im(sl1),sl2);
234 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector_slice &, const civector_slice &)"));
240 addDot(tmp_re,sl1,Re(sl2));
241 addDot(tmp_im,sl1,Im(sl2));
253 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const rmatrix_subv &)"));
259 addDot(tmp_re,Re(sl1),sl2);
260 addDot(tmp_im,Im(sl1),sl2);
272 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rmatrix_subv &, const civector_slice &)"));
278 addDot(tmp_re,sl1,Re(sl2));
279 addDot(tmp_im,sl1,Im(sl2));
291 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector &, const civector &)"));
304 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const cvector &)"));
317 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector_slice &, const civector &)"));
330 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const cvector &)"));
343 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector &, const civector_slice &)"));
356 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const cvector_slice &)"));
369 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const cvector_slice &)"));
382 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector_slice &, const civector_slice &)"));
395 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const ivector &, const civector &)"));
401 addDot(tmp_re,rv1,Re(rv2));
402 addDot(tmp_im,rv1,Im(rv2));
414 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const ivector &)"));
420 addDot(tmp_re,Re(rv1),rv2);
421 addDot(tmp_im,Im(rv1),rv2);
433 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const ivector_slice &, const civector &)"));
439 addDot(tmp_re,sl,Re(rv));
440 addDot(tmp_im,sl,Im(rv));
452 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const ivector &)"));
458 addDot(tmp_re,Re(sl),rv);
459 addDot(tmp_im,Im(sl),rv);
471 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const ivector &, const civector_slice &)"));
477 addDot(tmp_re,rv,Re(sl));
478 addDot(tmp_im,rv,Im(sl));
490 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const ivector_slice &)"));
496 addDot(tmp_re,Re(rv),sl);
497 addDot(tmp_im,Im(rv),sl);
509 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const ivector_slice &)"));
515 addDot(tmp_re,Re(sl1),sl2);
516 addDot(tmp_im,Im(sl1),sl2);
528 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const ivector_slice &, const civector_slice &)"));
534 addDot(tmp_re,sl1,Re(sl2));
535 addDot(tmp_im,sl1,Im(sl2));
541 addSum(InfRe(dp),InfRe(v));
542 addSum(SupRe(dp),SupRe(v));
543 addSum(InfIm(dp),InfIm(v));
544 addSum(SupIm(dp),SupIm(v));
The Data Type cidotprecision.
int get_k() const
Get currently set precision for computation of dot products.
The Data Type civector_slice.
The Data Type cvector_slice.
The Data Type idotprecision.
void set_k(unsigned int i)
Set precision for computation of dot products.
The Data Type ivector_slice.
The Data Type rmatrix_subv.
The Data Type rvector_slice.
The namespace cxsc, providing all functionality of the class library C-XSC.
int VecLen(const scimatrix_subv &S)
Returns the length of the subvector.