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

The Multiple-Precision Data Type l_real. More...

#include <l_real.hpp>

List of all members.

Public Member Functions

 l_real (void) throw ()
 Constructor of class l_real.
 l_real (const l_real &) throw ()
 Constructor of class l_real.
 l_real (int) throw ()
 Constructor of class l_real.
 l_real (long) throw ()
 Constructor of class l_real.
 l_real (const real &) throw ()
 Constructor of class l_real.
 l_real (const dotprecision &) throw ()
 Constructor of class l_real.
 l_real (const double &) throw ()
 Constructor of class l_real.
 l_real (const l_rvector &) throw ()
 Constructor of class l_real.
 l_real (const l_rvector_slice &) throw ()
 Constructor of class l_real.
 l_real (const l_rmatrix &) throw ()
 Constructor of class l_real.
 l_real (const l_rmatrix_slice &) throw ()
 Constructor of class l_real.
l_realoperator= (const l_real &) throw ()
 Implementation of standard assigning operator.
l_realoperator= (const real &) throw ()
 Implementation of standard assigning operator.
l_realoperator= (const dotprecision &) throw ()
 Implementation of standard assigning operator.
l_realoperator= (const lx_real &) throw ()
 Implementation of standard assigning operator.
realoperator[] (int) const throw ()
 Access to the single components used to store the long data type value.

Friends

real _l_real (const l_rvector &) throw ()
 Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
real _l_real (const l_rvector_slice &) throw ()
 Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
real _l_real (const l_rmatrix &) throw ()
 Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
real _l_real (const l_rmatrix_slice &) throw ()
 Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
l_real abs (const l_real &) throw ()
 The absolute value of a l_real value.
void accumulate (dotprecision &, const real &, const l_real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
void accumulate (dotprecision &, const l_real &, const real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
void accumulate (dotprecision &, const l_real &, const l_real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
void accumulate (idotprecision &, const real &, const l_real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
void accumulate (idotprecision &, const l_real &, const real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
void accumulate (idotprecision &, const l_real &, const l_real &) throw ()
 The accurate scalar product of the last two arguments added to the value of the first argument.
l_real adjust (const l_real &) throw ()
 Sets the precision of a specific long datatype value.
int expo_gr (const l_real &)
 Returns the maximum of the expo-function.
int expo_sm (const l_real &)
 Returns the minimum of the expo-function.
l_real Inf (const l_interval &) throw ()
 Returns the infimum of an l_interval.
l_real mid (const l_interval &) throw ()
 Returns the rounded middle of the l_interval.
bool operator! (const l_real &lr) throw ()
 Implementation of standard negation operation.
bool operator!= (const l_real &, const l_real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const real &, const l_real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const l_real &, const real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const dotprecision &, const l_real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const l_real &, const dotprecision &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const interval &, const l_real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const l_real &, const interval &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const idotprecision &, const l_real &) throw ()
 Implementation of standard negated equality operation.
bool operator!= (const l_real &, const idotprecision &) throw ()
 Implementation of standard negated equality operation.
l_real operator* (const l_real &, const l_real &) throw ()
 Implementation of standard algebraic multiplication operation.
l_real operator* (const l_real &, const real &) throw ()
 Implementation of standard algebraic multiplication operation.
l_real operator* (const real &, const l_real &) throw ()
 Implementation of standard algebraic multiplication operation.
l_realoperator*= (l_real &, const l_real &) throw ()
 Implementation of standard algebraic multiplication and allocation operation.
l_realoperator*= (l_real &, const real &) throw ()
 Implementation of standard algebraic multiplication and allocation operation.
realoperator*= (real &, const l_real &) throw ()
 Implementation of standard algebraic multiplication and allocation operation.
l_real operator+ (const l_real &lr1) throw ()
 Implementation of standard algebraic positive sign operation.
l_real operator+ (const l_real &, const l_real &) throw ()
 Implementation of standard algebraic addition operation.
l_real operator+ (const l_real &, const real &) throw ()
 Implementation of standard algebraic addition operation.
l_real operator+ (const real &, const l_real &) throw ()
 Implementation of standard algebraic addition operation.
dotprecision operator+ (const l_real &, const dotprecision &) throw ()
 Implementation of standard algebraic addition operation.
dotprecision operator+ (const dotprecision &, const l_real &) throw ()
 Implementation of standard algebraic addition operation.
l_realoperator+= (l_real &, const l_real &) throw ()
 Implementation of standard algebraic addition and allocation operation.
l_realoperator+= (l_real &, const real &) throw ()
 Implementation of standard algebraic addition and allocation operation.
realoperator+= (real &, const l_real &) throw ()
 Implementation of standard algebraic addition and allocation operation.
dotprecisionoperator+= (dotprecision &d, const l_real &lr) throw ()
 Implementation of standard algebraic addition and allocation operation.
l_real operator- (const l_real &lr1) throw ()
 Implementation of standard algebraic negative sign operation.
l_real operator- (const l_real &, const l_real &) throw ()
 Implementation of standard algebraic subtraction operation.
l_real operator- (const l_real &, const real &) throw ()
 Implementation of standard algebraic subtraction operation.
l_real operator- (const real &, const l_real &) throw ()
 Implementation of standard algebraic subtraction operation.
dotprecision operator- (const l_real &, const dotprecision &) throw ()
 Implementation of standard algebraic subtraction operation.
dotprecision operator- (const dotprecision &, const l_real &) throw ()
 Implementation of standard algebraic subtraction operation.
l_realoperator-= (l_real &, const l_real &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
l_realoperator-= (l_real &, const real &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
realoperator-= (real &, const l_real &) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
dotprecisionoperator-= (dotprecision &d, const l_real &lr) throw ()
 Implementation of standard algebraic subtraction and allocation operation.
l_real operator/ (const l_real &, const l_real &) throw (DIV_BY_ZERO)
 Implementation of standard algebraic division operation.
l_real operator/ (const l_real &, const real &) throw ()
 Implementation of standard algebraic division operation.
l_real operator/ (const real &, const l_real &) throw ()
 Implementation of standard algebraic division operation.
l_realoperator/= (l_real &, const l_real &) throw ()
 Implementation of standard algebraic division and allocation operation.
l_realoperator/= (l_real &, const real &) throw ()
 Implementation of standard algebraic division and allocation operation.
realoperator/= (real &, const l_real &) throw ()
 Implementation of standard algebraic division and allocation operation.
bool operator< (const l_real &, const l_real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const real &, const l_real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const l_real &, const real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const dotprecision &, const l_real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const l_real &, const dotprecision &) throw ()
 Implementation of standard less-than operation.
bool operator< (const interval &, const l_real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const l_real &, const interval &) throw ()
 Implementation of standard less-than operation.
bool operator< (const idotprecision &, const l_real &) throw ()
 Implementation of standard less-than operation.
bool operator< (const l_real &, const idotprecision &) throw ()
 Implementation of standard less-than operation.
std::ostream & operator<< (std::ostream &, const l_real &) throw ()
 Implementation of standard output method.
std::string & operator<< (std::string &, const l_real &) throw ()
 Implementation of standard output method.
bool operator<= (const l_real &, const l_real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const real &, const l_real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const l_real &, const real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const dotprecision &, const l_real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const l_real &, const dotprecision &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const interval &, const l_real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const l_real &, const interval &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const idotprecision &, const l_real &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator<= (const l_real &, const idotprecision &) throw ()
 Implementation of standard less-or-equal-than operation.
bool operator== (const l_real &, const l_real &) throw ()
 Implementation of standard equality operation.
bool operator== (const real &, const l_real &) throw ()
 Implementation of standard equality operation.
bool operator== (const l_real &, const real &) throw ()
 Implementation of standard equality operation.
bool operator== (const dotprecision &, const l_real &) throw ()
 Implementation of standard equality operation.
bool operator== (const l_real &, const dotprecision &) throw ()
 Implementation of standard equality operation.
bool operator== (const interval &, const l_real &) throw ()
 Implementation of standard equality operation.
bool operator== (const l_real &, const interval &) throw ()
 Implementation of standard equality operation.
bool operator== (const idotprecision &, const l_real &) throw ()
 Implementation of standard equality operation.
bool operator== (const l_real &, const idotprecision &) throw ()
 Implementation of standard equality operation.
bool operator> (const l_real &, const l_real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const real &, const l_real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const l_real &, const real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const dotprecision &, const l_real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const l_real &, const dotprecision &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const interval &, const l_real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const l_real &, const interval &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const idotprecision &, const l_real &) throw ()
 Implementation of standard greater-than operation.
bool operator> (const l_real &, const idotprecision &) throw ()
 Implementation of standard greater-than operation.
bool operator>= (const l_real &, const l_real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const real &, const l_real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const l_real &, const real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const dotprecision &, const l_real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const l_real &, const dotprecision &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const interval &, const l_real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const l_real &, const interval &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const idotprecision &, const l_real &) throw ()
 Implementation of standard greater-or-equal-than operation.
bool operator>= (const l_real &, const idotprecision &) throw ()
 Implementation of standard greater-or-equal-than operation.
std::istream & operator>> (std::istream &, l_real &) throw ()
 Implementation of standard input method.
std::string & operator>> (std::string &, l_real &) throw ()
 Implementation of standard input method.
void operator>> (const std::string &, l_real &) throw ()
 Implementation of standard input method.
void operator>> (const char *, l_real &) throw ()
 Implementation of standard input method.
l_interval operator| (const l_real &, const l_real &) throw ()
 Returns the convex hull of the arguments.
l_interval operator| (const real &, const l_real &) throw ()
 Returns the convex hull of the arguments.
l_interval operator| (const l_real &, const real &) throw ()
 Returns the convex hull of the arguments.
idotprecision operator| (const dotprecision &, const l_real &) throw ()
 Returns the convex hull of the arguments.
idotprecision operator| (const l_real &, const dotprecision &) throw ()
 Returns the convex hull of the arguments.
l_real rnd_down (const dotprecision &)
 Rounds the argument down to the next l_real value.
l_real rnd_up (const dotprecision &)
 Rounds the argument up to the next l_real value.
int sign (const l_real &) throw ()
 The sign of a l_real value.
int StagPrec (const l_real &) throw ()
 Returns the precision of the long datatype value.
l_real Sup (const l_interval &) throw ()
 Returns the supremum of an l_interval.
bool zero_ (const l_real &) throw ()
 Checks if the argument is zero.

Detailed Description

The Multiple-Precision Data Type l_real.

The multiple-precision data type l_real is a variant of the scalar type real, which provides support for longer numbers, thus increasing the accuracy of the data type.

The multiple-precision arithmetic is based on the staggered correction principle briefly described below.

Basic Ideas of the Staggered Correction Multiple-Precision Arithmetic

A real staggered correction mulitple-precision number $ X $ is a vector $ \vec X = (x_i)^{n}_{1} $ of C-XSC type real floating-point numbers. The value of a multiple-precision number $ X $ is the number in $ R $ that is the exact sum of the components of the vector,

\[ X = \sum \limits_{i=1}^n x_i , x_i \in R = R(b,l,e_{min},e{max}) \]

See also:
real

Definition at line 77 of file l_real.hpp.


Friends And Related Function Documentation

real _l_real ( const l_rvector ) throw () [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:
l_real(const l_rvector &)
real _l_real ( const l_rvector_slice ) throw () [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:
l_real(const l_rvector_slice &)
real _l_real ( const l_rmatrix ) throw () [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:
l_real(const l_rmatrix &)
real _l_real ( const l_rmatrix_slice ) throw () [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:
l_real(const l_rmatrix_slice &)
int expo_gr ( const l_real x) [friend]

Returns the maximum of the expo-function.

Parameters:
xThe value for which to calculate
Returns:
The result of the calculation

Result for a multiple-precisionnumber $ x = \sum \limits_{i=1}^n x_i $.

\[ \mbox{expo}_{ \mbox{gr} } (x) = \mbox{expo}( \mbox{ max } \{ | x_i | x_i \not= 0 \;,\; i = 1,...,n\}) \]

Definition at line 744 of file l_real.cpp.

int expo_sm ( const l_real x) [friend]

Returns the minimum of the expo-function.

Parameters:
xThe value for which to calculate
Returns:
The result of the calculation

Result for a multiple-precisionnumber $ x = \sum \limits_{i=1}^n x_i $ .

\[ \mbox{expo}_{ \mbox{sm} }(x) = \mbox{expo}( \mbox{ min } \{ | x_i | x_i \not= 0 \;,\; i = 1,...,n\}) \]

Definition at line 725 of file l_real.cpp.


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