28 #include "civector.hpp" 30 #include "civector.inl" 31 #include "rmatrix.hpp" 33 #include "iveccvec.inl" 43 throw(OP_WITH_WRONG_DIM)
49 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const civector &)"));
56 throw(OP_WITH_WRONG_DIM)
62 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const civector &)"));
69 throw(OP_WITH_WRONG_DIM)
75 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector &, const civector_slice &)"));
82 throw(OP_WITH_WRONG_DIM)
88 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const civector_slice &, const civector_slice &)"));
95 throw(OP_WITH_WRONG_DIM)
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) 114 throw(OP_WITH_WRONG_DIM)
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) 133 throw(OP_WITH_WRONG_DIM)
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) 152 throw(OP_WITH_WRONG_DIM)
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) 171 throw(OP_WITH_WRONG_DIM)
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) 190 throw(OP_WITH_WRONG_DIM)
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) 209 throw(OP_WITH_WRONG_DIM)
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) 228 throw(OP_WITH_WRONG_DIM)
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) 247 throw(OP_WITH_WRONG_DIM)
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) 266 throw(OP_WITH_WRONG_DIM)
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) 285 throw(OP_WITH_WRONG_DIM)
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) 298 throw(OP_WITH_WRONG_DIM)
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) 311 throw(OP_WITH_WRONG_DIM)
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) 324 throw(OP_WITH_WRONG_DIM)
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) 337 throw(OP_WITH_WRONG_DIM)
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) 350 throw(OP_WITH_WRONG_DIM)
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) 363 throw(OP_WITH_WRONG_DIM)
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) 376 throw(OP_WITH_WRONG_DIM)
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) 389 throw(OP_WITH_WRONG_DIM)
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) 408 throw(OP_WITH_WRONG_DIM)
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) 427 throw(OP_WITH_WRONG_DIM)
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) 446 throw(OP_WITH_WRONG_DIM)
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) 465 throw(OP_WITH_WRONG_DIM)
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) 484 throw(OP_WITH_WRONG_DIM)
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) 503 throw(OP_WITH_WRONG_DIM)
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) 522 throw(OP_WITH_WRONG_DIM)
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 idotprecision.
The namespace cxsc, providing all functionality of the class library C-XSC.
int VecLen(const scimatrix_subv &S)
Returns the length of the subvector.
The Data Type ivector_slice.
The Data Type cidotprecision.
The Data Type rvector_slice.
The Data Type rmatrix_subv.
void set_k(unsigned int i)
Set precision for computation of dot products.
The Data Type civector_slice.
int get_k() const
Get currently set precision for computation of dot products.
The Data Type cvector_slice.