C-XSC - A C++ Class Library for Extended Scientific Computing  2.5.4
cxsc::cdotprecision Class Reference

The Data Type cdotprecision. More...

#include <cdot.hpp>

List of all members.

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.
cdotprecisionoperator= (const real &a)
 Implementation of standard assigning operator.
cdotprecisionoperator= (const complex &a)
 Implementation of standard assigning operator.
cdotprecisionoperator= (const dotprecision &a)
 Implementation of standard assigning operator.
cdotprecisionoperator= (const cdotprecision &a)
 Implementation of standard assigning operator.
cdotprecisionoperator= (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.
dotprecisionIm (cdotprecision &a) throw ()
 Returns the imaginary part of the complex dotprecision value.
const dotprecisionIm (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.
cdotprecisionoperator+= (cdotprecision &, const cdotprecision &) throw ()
 Implementation of standard algebraic addition and allocation operation.
cdotprecisionoperator+= (cdotprecision &, const complex &) throw ()
 Implementation of standard algebraic addition and allocation operation.
cdotprecisionoperator+= (cdotprecision &, const real &) throw ()
 Implementation of standard algebraic addition and allocation operation.
cdotprecisionoperator+= (cdotprecision &, const l_real &) throw ()
 Implementation of standard algebraic addition and allocation operation.
cdotprecisionoperator+= (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.
cdotprecisionoperator-= (cdotprecision &, const cdotprecision &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
cdotprecisionoperator-= (cdotprecision &, const complex &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
cdotprecisionoperator-= (cdotprecision &, const real &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
cdotprecisionoperator-= (cdotprecision &, const l_real &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
cdotprecisionoperator-= (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.
dotprecisionRe (cdotprecision &a)
 Returns the real part of the complex dotprecision value.
const dotprecisionRe (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.
cdotprecisionSetIm (cdotprecision &a, const dotprecision &b) throw ()
 Sets the imaginary part of a complex dotprecision value.
cdotprecisionSetRe (cdotprecision &a, const dotprecision &b) throw ()
 Sets the real part of a complex dotprecision value.

Detailed Description

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).

See also:
cxsc::dotprecision

Definition at line 60 of file cdot.hpp.


Friends And Related Function Documentation

cdotprecision _cdotprecision ( const dotprecision a) [friend]

Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const dotprecision &r)

Definition at line 90 of file cdot.inl.

cdotprecision _cdotprecision ( const real a) [friend]

Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const real &r)

Definition at line 99 of file cdot.inl.

cdotprecision _cdotprecision ( const l_real a) [friend]

Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const l_real &r)

Definition at line 109 of file cdot.inl.

cdotprecision _cdotprecision ( const complex a) [friend]

Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const complex &c)

Definition at line 119 of file cdot.inl.

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.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const dotprecision&, const dotprecision&)

Definition at line 129 of file cdot.inl.

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.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const real &, const real &)

Definition at line 138 of file cdot.inl.

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.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const l_real &, const l_real &)

Definition at line 148 of file cdot.inl.

cdotprecision _cdotprecision ( const l_complex lc) [friend]

Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.

Deprecated:
use standard contructors for typecasting
See also:
cxsc::cdotprecision::cdotprecision(const l_complex &)

The documentation for this class was generated from the following files: