C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
The Data Type cdotprecision. More...
#include <cdot.hpp>
Public Member Functions | |
cdotprecision () | |
Constructor of class cdotprecision. | |
cdotprecision (const dotprecision &, const dotprecision &) | |
Constructor of class cdotprecision. | |
cdotprecision (const real &, const real &) | |
Constructor of class cdotprecision. | |
cdotprecision (const cdotprecision &) | |
Constructor of class cdotprecision. | |
cdotprecision (const l_real &, const l_real &) | |
Constructor of class cdotprecision. | |
cdotprecision (const l_complex &) | |
Constructor of class cdotprecision. | |
cdotprecision (const real &r) | |
Constructor of class cdotprecision. | |
cdotprecision (const complex &c) | |
Constructor of class cdotprecision. | |
cdotprecision (const dotprecision &r) | |
Constructor of class cdotprecision. | |
cdotprecision (const l_real &r) | |
Constructor of class cdotprecision. | |
int | get_dotprec () const |
Get currently set precision for computation of dot products. | |
int | get_k () const |
Get currently set precision for computation of dot products. | |
cdotprecision & | operator= (const real &a) |
Implementation of standard assigning operator. | |
cdotprecision & | operator= (const complex &a) |
Implementation of standard assigning operator. | |
cdotprecision & | operator= (const dotprecision &a) |
Implementation of standard assigning operator. | |
cdotprecision & | operator= (const cdotprecision &a) |
Implementation of standard assigning operator. | |
cdotprecision & | operator= (const l_real &a) |
Implementation of standard assigning operator. | |
void | set_dotprec (unsigned int i) |
Set precision for computation of dot products. | |
void | set_k (unsigned int i) |
Set precision for computation of dot products. | |
Friends | |
cdotprecision | _cdotprecision (const dotprecision &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const real &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const l_real &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const complex &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const dotprecision &, const dotprecision &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const real &, const real &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const l_real &, const l_real &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
cdotprecision | _cdotprecision (const l_complex &) |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC. | |
void | accumulate (cdotprecision &, const complex &, const complex &) throw () |
The accurate scalar product of the last two arguments added to the value of the first argument. | |
void | accumulate (cdotprecision &, const complex &, const real &) throw () |
The accurate scalar product of the last two arguments added to the value of the first argument. | |
void | accumulate (cdotprecision &, const real &, const complex &) throw () |
The accurate scalar product of the last two arguments added to the value of the first argument. | |
void | accumulate (cdotprecision &, const real &, const real &) throw () |
The accurate scalar product of the last two arguments added to the value of the first argument. | |
cdotprecision | conj (const cdotprecision &a) throw () |
Returns the conjugated complex dotprecision value. | |
dotprecision & | Im (cdotprecision &a) throw () |
Returns the imaginary part of the complex dotprecision value. | |
const dotprecision & | Im (const cdotprecision &a) throw () |
Returns the imaginary part of the complex dotprecision value. | |
bool | operator! (const cdotprecision &) throw () |
Implementation of standard negation operation. | |
bool | operator!= (const cdotprecision &, const cdotprecision &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const dotprecision &, const cdotprecision &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const cdotprecision &, const dotprecision &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const complex &, const cdotprecision &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const cdotprecision &, const complex &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const real &, const cdotprecision &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const cdotprecision &, const real &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const cdotprecision &, const l_real &) throw () |
Implementation of standard negated equality operation. | |
bool | operator!= (const l_real &, const cdotprecision &) throw () |
Implementation of standard negated equality operation. | |
cdotprecision | operator+ (const cdotprecision &) throw () |
Implementation of standard algebraic positive sign operation. | |
cdotprecision | operator+ (const cdotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const cdotprecision &, const complex &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const complex &, const cdotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const cdotprecision &, const dotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const dotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const cdotprecision &, const real &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const real &, const cdotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const cdotprecision &, const l_real &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision | operator+ (const l_real &, const cdotprecision &) throw () |
Implementation of standard algebraic addition operation. | |
cdotprecision & | operator+= (cdotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic addition and allocation operation. | |
cdotprecision & | operator+= (cdotprecision &, const complex &) throw () |
Implementation of standard algebraic addition and allocation operation. | |
cdotprecision & | operator+= (cdotprecision &, const real &) throw () |
Implementation of standard algebraic addition and allocation operation. | |
cdotprecision & | operator+= (cdotprecision &, const l_real &) throw () |
Implementation of standard algebraic addition and allocation operation. | |
cdotprecision & | operator+= (cdotprecision &, const dotprecision &) throw () |
Implementation of standard algebraic addition and allocation operation. | |
cdotprecision | operator- (const cdotprecision &) throw () |
Implementation of standard algebraic negative sign operation. | |
cdotprecision | operator- (const cdotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const cdotprecision &, const complex &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const complex &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const cdotprecision &, const dotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const dotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const cdotprecision &, const real &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const real &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const cdotprecision &, const l_real &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision | operator- (const l_real &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction operation. | |
cdotprecision & | operator-= (cdotprecision &, const cdotprecision &) throw () |
Implementation of standard algebraic subtraction and allocation operation. | |
cdotprecision & | operator-= (cdotprecision &, const complex &) throw () |
Implementation of standard algebraic subtraction and allocation operation. | |
cdotprecision & | operator-= (cdotprecision &, const real &) throw () |
Implementation of standard algebraic subtraction and allocation operation. | |
cdotprecision & | operator-= (cdotprecision &, const l_real &) throw () |
Implementation of standard algebraic subtraction and allocation operation. | |
cdotprecision & | operator-= (cdotprecision &, const dotprecision &) throw () |
Implementation of standard algebraic subtraction and allocation operation. | |
std::ostream & | operator<< (std::ostream &s, const cdotprecision &a) throw () |
Implementation of standard output method. | |
std::string & | operator<< (std::string &s, const cdotprecision &a) throw () |
Implementation of standard output method. | |
bool | operator== (const cdotprecision &, const cdotprecision &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const dotprecision &, const cdotprecision &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const cdotprecision &, const dotprecision &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const complex &, const cdotprecision &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const cdotprecision &, const complex &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const real &, const cdotprecision &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const cdotprecision &, const real &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const cdotprecision &, const l_real &) throw () |
Implementation of standard equality operation. | |
bool | operator== (const l_real &, const cdotprecision &) throw () |
Implementation of standard equality operation. | |
std::istream & | operator>> (std::istream &s, cdotprecision &a) throw () |
Implementation of standard input method. | |
std::string & | operator>> (std::string &s, cdotprecision &a) throw () |
Implementation of standard input method. | |
void | operator>> (const std::string &s, cdotprecision &a) throw () |
Implementation of standard input method. | |
void | operator>> (const char *s, cdotprecision &a) throw () |
Implementation of standard input method. | |
dotprecision & | Re (cdotprecision &a) |
Returns the real part of the complex dotprecision value. | |
const dotprecision & | Re (const cdotprecision &a) |
Returns the real part of the complex dotprecision value. | |
void | rnd (const cdotprecision &, complex &, rndtype) throw () |
Converting the exact complex dotprecision value with one rounding into a complex value. | |
void | rnd (const cdotprecision &, complex &, complex &) throw () |
Converting the exact complex dotprecision value with one rounding into the nearest lower and upper complex value. | |
void | rnd (const cdotprecision &, cinterval &) throw () |
Converting the exact complex dotprecision value into an interval with the nearest lower and upper bound. | |
complex | rnd (const cdotprecision &, rndtype) throw () |
Converting the exact complex dotprecision value with one rounding into a complex value. | |
cdotprecision & | SetIm (cdotprecision &a, const dotprecision &b) throw () |
Sets the imaginary part of a complex dotprecision value. | |
cdotprecision & | SetRe (cdotprecision &a, const dotprecision &b) throw () |
Sets the real part of a complex dotprecision value. |
The Data Type cdotprecision.
The data types dotprecision, idotprecision, cdotprecision and cidotprecision are based on the scalar data types real, interval, complex, and cinterval, respectively. Variables of these data types permit the exact representation of products of two arbitrary numbers of the corresponding scalar base type and the exact summation of an arbitrary number of such products in a dotprecision accumulator, i.e. in a fixed-point format of suitable size.
Since C-XSC Version 2.3.0, the precision for dot products computed with the dotprecision types can be choosen by the user. The default is precision k=0, which means maximum precision (the behaviour of older C-XSC Versions). For k=1, pure floating point operations are used and an error bound is computed using manipulation of the rounding mode of the processor. For k>=2, the so called DotK algorithm is used, simulating higher precision computations and also computing an error bound. When calling the rnd() function, the error bound will be added to the result interval. The resulting intervals will be wider for lower k, but computations will be significantly faster than with maximum precision (k=0).
cdotprecision _cdotprecision | ( | const dotprecision & | a | ) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const real & | a | ) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const l_real & | a | ) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const complex & | a | ) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const dotprecision & | a, |
const dotprecision & | b | ||
) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const real & | a, |
const real & | b | ||
) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const l_real & | a, |
const l_real & | b | ||
) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
cdotprecision _cdotprecision | ( | const l_complex & | lc | ) | [friend] |
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.