28 #include "civector.hpp"
30 #include "civector.inl"
31 #include "rmatrix.hpp"
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 &)"));
100 #if(CXSC_INDEX_CHECK)
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));
113 #if(CXSC_INDEX_CHECK)
119 #if(CXSC_INDEX_CHECK)
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);
132 #if(CXSC_INDEX_CHECK)
138 #if(CXSC_INDEX_CHECK)
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));
151 #if(CXSC_INDEX_CHECK)
157 #if(CXSC_INDEX_CHECK)
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);
170 #if(CXSC_INDEX_CHECK)
176 #if(CXSC_INDEX_CHECK)
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));
189 #if(CXSC_INDEX_CHECK)
195 #if(CXSC_INDEX_CHECK)
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);
208 #if(CXSC_INDEX_CHECK)
214 #if(CXSC_INDEX_CHECK)
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);
227 #if(CXSC_INDEX_CHECK)
233 #if(CXSC_INDEX_CHECK)
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));
246 #if(CXSC_INDEX_CHECK)
252 #if(CXSC_INDEX_CHECK)
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);
265 #if(CXSC_INDEX_CHECK)
271 #if(CXSC_INDEX_CHECK)
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));
284 #if(CXSC_INDEX_CHECK)
290 #if(CXSC_INDEX_CHECK)
291 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector &, const civector &)"));
297 #if(CXSC_INDEX_CHECK)
303 #if(CXSC_INDEX_CHECK)
304 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const cvector &)"));
310 #if(CXSC_INDEX_CHECK)
316 #if(CXSC_INDEX_CHECK)
317 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector_slice &, const civector &)"));
323 #if(CXSC_INDEX_CHECK)
329 #if(CXSC_INDEX_CHECK)
330 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const cvector &)"));
336 #if(CXSC_INDEX_CHECK)
342 #if(CXSC_INDEX_CHECK)
343 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector &, const civector_slice &)"));
349 #if(CXSC_INDEX_CHECK)
355 #if(CXSC_INDEX_CHECK)
356 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const cvector_slice &)"));
362 #if(CXSC_INDEX_CHECK)
368 #if(CXSC_INDEX_CHECK)
369 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const cvector_slice &)"));
375 #if(CXSC_INDEX_CHECK)
381 #if(CXSC_INDEX_CHECK)
382 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const cvector_slice &, const civector_slice &)"));
388 #if(CXSC_INDEX_CHECK)
394 #if(CXSC_INDEX_CHECK)
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));
407 #if(CXSC_INDEX_CHECK)
413 #if(CXSC_INDEX_CHECK)
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);
426 #if(CXSC_INDEX_CHECK)
432 #if(CXSC_INDEX_CHECK)
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));
445 #if(CXSC_INDEX_CHECK)
451 #if(CXSC_INDEX_CHECK)
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);
464 #if(CXSC_INDEX_CHECK)
470 #if(CXSC_INDEX_CHECK)
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));
483 #if(CXSC_INDEX_CHECK)
489 #if(CXSC_INDEX_CHECK)
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);
502 #if(CXSC_INDEX_CHECK)
508 #if(CXSC_INDEX_CHECK)
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);
521 #if(CXSC_INDEX_CHECK)
527 #if(CXSC_INDEX_CHECK)
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.