28 #include "rvector.hpp" 30 #include "rvector.inl" 40 throw(OP_WITH_WRONG_DIM)
46 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(dotprecision&, const rvector &, const rvector &)"));
52 addDot_op(dp,rv1,rv2);
60 throw(OP_WITH_WRONG_DIM)
66 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(dotprecision&, const rvector_slice &, const rvector &)"));
77 throw(OP_WITH_WRONG_DIM)
83 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(dotprecision&, const rvector &, const rvector_slice &)"));
94 throw(OP_WITH_WRONG_DIM)
100 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(dotprecision&, const rvector_slice &, const rvector_slice &)"));
106 addDot_op(dp,sl1,sl2);
111 #if(CXSC_INDEX_CHECK) 112 throw(OP_WITH_WRONG_DIM)
117 #if(CXSC_INDEX_CHECK) 118 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision&, const rvector &, const rvector &)"));
131 #if(CXSC_INDEX_CHECK) 132 throw(OP_WITH_WRONG_DIM)
137 #if(CXSC_INDEX_CHECK) 138 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision&, const rvector_slice &, const rvector &)"));
148 #if(CXSC_INDEX_CHECK) 149 throw(OP_WITH_WRONG_DIM)
154 #if(CXSC_INDEX_CHECK) 155 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision&, const rvector &, const rvector_slice &)"));
164 #if(CXSC_INDEX_CHECK) 165 throw(OP_WITH_WRONG_DIM)
170 #if(CXSC_INDEX_CHECK) 171 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision&, const rvector_slice &, const rvector_slice &)"));
180 #if(CXSC_INDEX_CHECK) 181 throw(OP_WITH_WRONG_DIM)
186 #if(CXSC_INDEX_CHECK) 187 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cdotprecision&, const rvector &, const rvector &)"));
189 addDot(Re(dp),rv1,rv2);
194 addDot_op(Re(dp),rv1,rv2);
202 #if(CXSC_INDEX_CHECK) 203 throw(OP_WITH_WRONG_DIM)
208 #if(CXSC_INDEX_CHECK) 209 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cdotprecision&, const rvector_slice &, const rvector &)"));
211 addDot(Re(dp),sl,rv);
216 addDot_op(Re(dp),sl,rv);
221 #if(CXSC_INDEX_CHECK) 222 throw(OP_WITH_WRONG_DIM)
227 #if(CXSC_INDEX_CHECK) 228 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cdotprecision&, const rvector &, const rvector_slice &)"));
230 addDot(Re(dp),rv,sl);
235 addDot_op(Re(dp),rv,sl);
240 #if(CXSC_INDEX_CHECK) 241 throw(OP_WITH_WRONG_DIM)
246 #if(CXSC_INDEX_CHECK) 247 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cdotprecision&, const rvector_slice &, const rvector_slice &)"));
249 addDot(Re(dp),sl1,sl2);
254 addDot_op(Re(dp),sl1,sl2);
259 #if(CXSC_INDEX_CHECK) 260 throw(OP_WITH_WRONG_DIM)
265 #if(CXSC_INDEX_CHECK) 266 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector &, const rvector &)"));
279 #if(CXSC_INDEX_CHECK) 280 throw(OP_WITH_WRONG_DIM)
285 #if(CXSC_INDEX_CHECK) 286 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector_slice &, const rvector &)"));
296 #if(CXSC_INDEX_CHECK) 297 throw(OP_WITH_WRONG_DIM)
302 #if(CXSC_INDEX_CHECK) 303 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector &, const rvector_slice &)"));
313 #if(CXSC_INDEX_CHECK) 314 throw(OP_WITH_WRONG_DIM)
319 #if(CXSC_INDEX_CHECK) 320 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision&, const rvector_slice &, const rvector_slice &)"));
void set_k(unsigned int i)
Set precision for computation of dot products.
The Data Type idotprecision.
The Data Type dotprecision.
The namespace cxsc, providing all functionality of the class library C-XSC.
int VecLen(const scimatrix_subv &S)
Returns the length of the subvector.
int get_k() const
Get currently set precision for computation of dot products.
void accumulate_approx(cdotprecision &dp, const cmatrix_subv &rv1, const cmatrix_subv &rv2)
The accurate scalar product of the last two arguments added to the value of the first argument (witho...
The Data Type cidotprecision.
The Data Type rvector_slice.
The Data Type cdotprecision.
int get_k() const
Get currently set precision for computation of dot products.