C-XSC - A C++ Class Library for Extended Scientific Computing
2.5.4
|
26 #ifndef _CXSC_REAL_HPP_INCLUDED
27 #define _CXSC_REAL_HPP_INCLUDED
36 #include "ioflags.hpp"
124 real(
const float &a)
throw () : w(a) { }
126 real(
const double &a)
throw () : w(a) { }
128 real(
const int a)
throw () : w(a) { }
130 real(
const long a)
throw () : w(a) { }
137 #if(CXSC_INDEX_CHECK)
138 explicit INLINE
real(
const rvector &)
throw (ERROR_RVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_RVECTOR_USE_OF_UNINITIALIZED_OBJ);
141 explicit INLINE
real(
const rvector_slice &)
throw (ERROR_RVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_RVECTOR_USE_OF_UNINITIALIZED_OBJ);
143 explicit INLINE
real(
const rmatrix &)
throw (ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_RMATRIX_USE_OF_UNINITIALIZED_OBJ);
145 explicit INLINE
real(
const rmatrix_slice &)
throw (ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_RMATRIX_USE_OF_UNINITIALIZED_OBJ);
167 #if(CXSC_INDEX_CHECK)
174 friend INLINE
real _real(
const rvector &)
throw (ERROR_RVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_RVECTOR_USE_OF_UNINITIALIZED_OBJ);
181 friend INLINE
real _real(
const rvector_slice &)
throw (ERROR_RVECTOR_TYPE_CAST_OF_THICK_OBJ,ERROR_RVECTOR_USE_OF_UNINITIALIZED_OBJ);
188 friend INLINE
real _real(
const rmatrix &)
throw (ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_RMATRIX_USE_OF_UNINITIALIZED_OBJ);
195 friend INLINE
real _real(
const rmatrix_slice &)
throw (ERROR_RMATRIX_TYPE_CAST_OF_THICK_OBJ,ERROR_RMATRIX_USE_OF_UNINITIALIZED_OBJ);
230 friend std::ostream &
operator <<(std::ostream &,
const real &)
throw();
356 real & operator = (
const lx_real&)
throw();
360 inline real comp(
const real &,a_intg)
throw();
368 std::ostream & operator <<(std::ostream &,
const real &)
throw();
369 std::istream & operator >>(std::istream &,
real &)
throw();
370 std::string & operator <<(std::string &,
const real &)
throw();
371 std::string & operator >>(std::string &,
real &)
throw();
372 void operator >>(
const char *,
real &)
throw();
373 void operator >>(
const std::string &,
real &)
throw();
394 int sign,
unsigned int expo, a_btyp manthigh, a_btyp mantlow);
435 extern const real Factor;
511 #endif // _CXSC_REAL_HPP_INCLUDED
const real SqrtPi_real
Constant for rounded to the nearest machine number.
real(const float &a)
Constructor of class real.
friend real operator/(const real &, const real &)
Implementation of standard algebraic division operation.
const real Sqrt2Pir_real
Constant for rounded to the nearest machine number.
friend INLINE real _real(const rmatrix_slice &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
const real QuietNaN
Representation of Not-a-Number in floating-point format.
const real MinReal
Smallest normalized representable floating-point number.
real pow2n(const int n)
Returns the value of .
friend real pred(const real &)
The predecessor of a real value.
const real Pid3_real
Constant for rounded to the nearest machine number.
const real Ln10_real
Constant for rounded to the nearest machine number.
friend std::istream & operator>>(std::istream &, real &)
Implementation of standard input method.
const real minreal
Smallest positive denormalized representable floating-point number.
const real Sqrt2Pi_real
Constant for rounded to the nearest machine number.
bool IsSignalingNaN(const real &a)
Returns if the given real value represents the value of a signaling NaN.
string realToHex(const real &a)
Returns a real number in hexadecimal format as string.
bool IsInfinity(const real &a)
Returns if the given real value represents the value infinity.
const real Pip2_real
Constant for rounded to the nearest machine number.
friend std::ostream & operator<<(std::ostream &, const real &)
Implementation of standard output method.
real(const long a)
Constructor of class real.
real(const int a)
Constructor of class real.
friend INLINE real _real(const rvector_slice &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
const real Ep2Pi_real
Constant for rounded to the nearest machine number.
const real Pid2_real
Constant for rounded to the nearest machine number.
const real & MakeHexReal(int sign, unsigned int expo, a_btyp manthigh, a_btyp mantlow)
Produces an IEEE 64-bit floating-point number from given binary coded parts of an IEEE 64-bit floatin...
friend real divdown(const real &, const real &)
Division of two real values and rounding the result downwards.
const real E_real
Constant for rounded to the nearest machine number.
const real Ln2r_real
Constant for rounded to the nearest machine number.
friend INLINE real _real(const rvector &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
real(void)
Constructor of class real.
friend real & operator*=(real &, const real &)
Implementation of standard algebraic multiplication and allocation operation.
const real Ep2r_real
Constant for rounded to the nearest machine number.
friend a_intg expo(const real &)
The exponent of a real value.
const real Ln10r_real
Constant for rounded to the nearest machine number.
const real Sqrt3r_real
Constant for rounded to the nearest machine number.
friend bool operator<(const real &a, const real &b)
Implementation of standard less-than operation.
const real Sqrt3_real
Constant for rounded to the nearest machine number.
const real Pir_real
Constant for rounded to the nearest machine number.
const real Infinity
Representation of positive infinity in floating-point format.
const real SqrtPir_real
Constant for rounded to the nearest machine number.
const real Pid4_real
Constant for rounded to the nearest machine number.
friend real _real(const double &a)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend int sign(const real &)
The sign of a real value.
const real Ln2_real
Constant for rounded to the nearest machine number.
friend bool operator==(const real &a, const real &b)
Implementation of standard equality operation.
friend INLINE real _real(const rmatrix &)
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
The Data Type rvector_slice.
const real Pi3_real
Constant for rounded to the nearest machine number.
friend real subup(const real &, const real &)
Subtraction of two real values and rounding the result upwards.
friend real multup(const real &, const real &)
Multiplication of two real values and rounding the result upwards.
friend real & operator+=(real &, const real &)
Implementation of standard algebraic addition and allocation operation.
const real Ep2_real
Constant for rounded to the nearest machine number.
friend real & operator-=(real &, const real &)
Implementation of standard algebraic subtraction and allocation operation.
friend real adddown(const real &, const real &)
Addition of two real values and rounding the result downwards.
void times2pown(cinterval &x, int n)
Fast multiplication of reference parameter [z] with .
friend real addup(const real &, const real &)
Addition of two real values and rounding the result upwards.
const real Sqrt3d2_real
Constant for rounded to the nearest machine number.
const real SignalingNaN
Not defined result in floating-point format.
friend real divup(const real &, const real &)
Division of two real values and rounding the result upwards.
friend bool operator!(const real &a)
Implementation of standard negation operation.
bool IsQuietNaN(const real &a)
Returns if the given real value represents the value of a quiet NaN.
const real Sqrt5_real
Constant for rounded to the nearest machine number.
The namespace cxsc, providing all functionality of the class library C-XSC.
friend real operator+(const real &)
Implementation of standard algebraic positive sign operation.
const real Ln2Pi_real
Constant for rounded to the nearest machine number.
const real EpPid4_real
Constant for rounded to the nearest machine number.
const real MaxReal
Greatest representable floating-point number.
friend bool operator>=(const real &a, const real &b)
Implementation of standard greater-or-equal-than operation.
The Multiple-Precision Data Type l_real.
const real Pi_real
Constant for rounded to the nearest machine number.
const real Sqrt2r_real
Constant for rounded to the nearest machine number.
friend real operator-(const real &)
Implementation of standard algebraic negative sign operation.
const real LnPi_real
Constant for rounded to the nearest machine number.
The Data Type rmatrix_slice.
const real Pi2r_real
Constant for rounded to the nearest machine number.
friend double _double(const real &a)
Typecast to convert a real value into a double value.
friend bool operator<=(const real &a, const real &b)
Implementation of standard less-or-equal-than operation.
const real Pi2_real
Constant for rounded to the nearest machine number.
friend real mant(const real &)
The mantissa of a real value.
friend real operator*(const real &, const real &)
Implementation of standard algebraic multiplication operation.
friend bool operator!=(const real &a, const real &b)
Implementation of standard negated equality operation.
friend real abs(const real &a)
The absolute value of a real value.
INLINE real(const rmatrix_slice &)
Constructor of class real.
friend real succ(const real &)
The successor of a real value.
const real EpPi_real
Constant for rounded to the nearest machine number.
friend real & operator/=(real &, const real &)
Implementation of standard algebraic division and allocation operation.
friend real comp(const real &, a_intg)
Composes an IEEE floating point value out of an given mantissa and exponent.
const real Sqrt7_real
Constant for rounded to the nearest machine number.
real(const double &a)
Constructor of class real.
friend real subdown(const real &, const real &)
Subtraction of two real values and rounding the result downwards.
const real Epsilon
Machine epsilon.
const real Sqrt2_real
Constant for rounded to the nearest machine number.
friend bool operator>(const real &a, const real &b)
Implementation of standard greater-than operation.
const real Er_real
Constant for rounded to the nearest machine number.
real Max(const real &a, const real &b)
Returns the greater value of two real values (for Compatibility with former r_util....
friend real multdown(const real &, const real &)
Multiplication of two real values and rounding the result downwards.
const real EpPid2_real
Constant for rounded to the nearest machine number.