38 int i =
Lb(x), n =
Ub(x), ok = 1;
40 while (ok && i <= n) { ok =
in(x[i],y[i]); i++; }
46 int i =
Lb(y), n =
Ub(y), ok = 1;
49 while (ok && i <= n) { ok =
in(d,y[i]); i++; }
58 for (i =
Lb(x); i <=
Ub(x); i++) h[i] =
Blow(x[i],eps);
64 int al =
Lb(a), au =
Ub(a), bl =
Lb(b);
76 }
while ( !(disjointed || i > au) );
83 for (i =
Lb(x), ok = 1; i <=
Ub(x) && ok; i++) ok = (x[i] == 0.0);
90 int l =
Lb(v), u =
Ub(v);
93 for (i = l; i <= u; i++) w[i] =
mid(v[i]);
100 int i, l=
Lb(v), u=
Ub(v);
103 for (i = l; i <= u; i++)
111 int i, l=
Lb(v), u=
Ub(v);
114 for (i = l; i <= u; i++)
127 for (k =
Lb(v), upper =
Ub(v); (k < upper) &&
UlpAcc(v[k],n); k++);
152 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector &, ivector &)"));
166 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector_slice &, ivector &)"));
180 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector &, ivector_slice &)"));
194 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector_slice &, ivector_slice &)"));
208 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector &, ivector &)"));
225 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector_slice &, ivector &)"));
242 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector &, ivector_slice &)"));
259 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector_slice &, ivector_slice &)"));
276 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const rvector &, ivector &)"));
290 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector &, rvector &)"));
304 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const rvector_slice &, ivector &)"));
318 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector_slice &, rvector &)"));
332 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const rvector &, ivector_slice &)"));
346 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector &, rvector_slice &)"));
360 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const ivector_slice &, rvector_slice &)"));
374 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(idotprecision &, const rvector_slice &, ivector_slice &)"));
388 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const rvector &, ivector &)"));
405 if(
VecLen(rv1)!=
VecLen(rv2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector &, rvector &)"));
422 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const rvector_slice &, ivector &)"));
439 if(
VecLen(sl)!=
VecLen(rv)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector_slice &, rvector &)"));
456 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const rvector &, ivector_slice &)"));
473 if(
VecLen(rv)!=
VecLen(sl)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector &, rvector_slice &)"));
490 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const ivector_slice &, rvector_slice &)"));
507 if(
VecLen(sl1)!=
VecLen(sl2)) cxscthrow(OP_WITH_WRONG_DIM(
"void accumulate(cidotprecision &, const rvector_slice &, ivector_slice &)"));
518 addSum(Inf(dp),Inf(v));
519 addSum(Sup(dp),Sup(v));
523 addSum(InfRe(dp),Inf(v));
524 addSum(SupRe(dp),Sup(v));
The Data Type cidotprecision.
int get_k() const
Get currently set precision for computation of dot products.
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 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.
int Disjoint(const interval &a, const interval &b)
Checks arguments for disjointness.
real MaxRelDiam(const imatrix_subv &v)
Computes the relative diameter .
int UlpAcc(const interval &x, int n)
Checks if the diameter of the interval is ulps.
real RelDiam(const interval &x)
Computes the relative diameter .
int Ub(const cimatrix &rm, const int &i) noexcept
Returns the upper bound index.
int in(const cinterval &x, const cinterval &y)
Checks if first argument is part of second argument.
void DoubleSize(cimatrix &A)
Doubles the size of the matrix.
cvector mid(const cimatrix_subv &mv) noexcept
Returns the middle of the matrix.
void Resize(cimatrix &A) noexcept
Resizes the matrix.
int Lb(const cimatrix &rm, const int &i) noexcept
Returns the lower bound index.
int Zero(ivector &x)
Checks if vector is zero vector.
cinterval Blow(cinterval x, const real &eps)
Performs an epsilon inflation.