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);
163 friend inline double _double(
const real &a)
throw();
165 friend inline real _real(
const double &a)
throw();
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();
287 friend inline bool operator== (
const real& a,
const int & b)
throw();
289 friend inline bool operator!= (
const real& a,
const int & b)
throw();
291 friend inline bool operator== (
const int & a,
const real& b)
throw();
293 friend inline bool operator!= (
const int & a,
const real& b)
throw();
295 friend inline bool operator== (
const real& a,
const long & b)
throw();
297 friend inline bool operator!= (
const real& a,
const long & b)
throw();
299 friend inline bool operator== (
const long & a,
const real& b)
throw();
301 friend inline bool operator!= (
const long & a,
const real& b)
throw();
303 friend inline bool operator== (
const real& a,
const float & b)
throw();
305 friend inline bool operator!= (
const real& a,
const float & b)
throw();
307 friend inline bool operator== (
const float & a,
const real& b)
throw();
309 friend inline bool operator!= (
const float & a,
const real& b)
throw();
311 friend inline bool operator== (
const real& a,
const double & b)
throw();
313 friend inline bool operator!= (
const real& a,
const double & b)
throw();
315 friend inline bool operator== (
const double & a,
const real& b)
throw();
317 friend inline bool operator!= (
const double & a,
const real& b)
throw();
343 friend inline int sign(
const real &)
throw();
350 friend inline a_intg
expo(
const real &)
throw();
356 real & operator = (
const lx_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 friend real mant(const real &)
The mantissa of a real value.
friend real adddown(const real &, const real &)
Addition of two real values and rounding the result downwards.
The Data Type rmatrix_slice.
const real SqrtPir_real
Constant for rounded to the nearest machine number.
const real Ln2Pi_real
Constant for rounded to the nearest machine number.
friend bool operator==(const real &a, const real &b)
Implementation of standard equality operation.
The Multiple-Precision Data Type l_real.
friend bool operator>(const real &a, const real &b)
Implementation of standard greater-than operation.
friend real operator*(const real &, const real &)
Implementation of standard algebraic multiplication operation.
friend real pred(const real &)
The predecessor of a real value.
bool IsInfinity(const real &a)
Returns if the given real value represents the value infinity.
const real Sqrt5_real
Constant for rounded to the nearest machine number.
const real EpPi_real
Constant for rounded to the nearest machine number.
bool IsQuietNaN(const real &a)
Returns if the given real value represents the value of a quiet NaN.
bool IsSignalingNaN(const real &a)
Returns if the given real value represents the value of a signaling NaN.
The namespace cxsc, providing all functionality of the class library C-XSC.
friend bool operator<(const real &a, const real &b)
Implementation of standard less-than operation.
friend real operator-(const real &)
Implementation of standard algebraic negative sign operation.
friend real operator/(const real &, const real &)
Implementation of standard algebraic division operation.
friend real abs(const real &a)
The absolute value of a real value.
const real Epsilon
Machine epsilon.
real(const long a)
Constructor of class real.
friend bool operator!=(const real &a, const real &b)
Implementation of standard negated equality operation.
friend real subdown(const real &, const real &)
Subtraction of two real values and rounding the result downwards.
const real Pid3_real
Constant for rounded to the nearest machine number.
const real Ln10_real
Constant for rounded to the nearest machine number.
const real Er_real
Constant for rounded to the nearest machine number.
const real Sqrt3r_real
Constant for rounded to the nearest machine number.
const real Ln2r_real
Constant for rounded to the nearest machine number.
friend real operator+(const real &)
Implementation of standard algebraic positive sign operation.
const real Sqrt2Pir_real
Constant for rounded to the nearest machine number.
real(const double &a)
Constructor of class real.
friend real & operator/=(real &, const real &)
Implementation of standard algebraic division and allocation operation.
friend std::istream & operator>>(std::istream &, real &)
Implementation of standard input method.
const real Pi2_real
Constant for rounded to the nearest machine number.
friend real divdown(const real &, const real &)
Division of two real values and rounding the result downwards.
The Data Type rvector_slice.
const real Sqrt7_real
Constant for rounded to the nearest machine number.
friend bool operator>=(const real &a, const real &b)
Implementation of standard greater-or-equal-than operation.
friend real comp(const real &, a_intg)
Composes an IEEE floating point value out of an given mantissa and exponent.
const real EpPid4_real
Constant for rounded to the nearest machine number.
const real MaxReal
Greatest representable floating-point number.
const real Ep2_real
Constant for rounded to the nearest machine number.
const real Ln2_real
Constant for rounded to the nearest machine number.
real(const int a)
Constructor of class real.
const real Pi2r_real
Constant for rounded to the nearest machine number.
const real Sqrt3d2_real
Constant for rounded to the nearest machine number.
friend a_intg expo(const real &)
The exponent of a real value.
const real Infinity
Representation of positive infinity in floating-point format.
const real EpPid2_real
Constant for rounded to the nearest machine number.
const real Sqrt2r_real
Constant for rounded to the nearest machine number.
friend real multdown(const real &, const real &)
Multiplication of two real values and rounding the result downwards.
friend real divup(const real &, const real &)
Division of two real values and rounding the result upwards.
const real Pip2_real
Constant for rounded to the nearest machine number.
const real Pid2_real
Constant for rounded to the nearest machine number.
friend real multup(const real &, const real &)
Multiplication of two real values and rounding the result upwards.
real Max(const real &a, const real &b)
Returns the greater value of two real values (for Compatibility with former r_util.hpp)
real pow2n(const int n)
Returns the value of .
friend bool operator!(const real &a)
Implementation of standard negation operation.
const real SqrtPi_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.
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...
const real Sqrt2Pi_real
Constant for rounded to the nearest machine number.
const real Ln10r_real
Constant for rounded to the nearest machine number.
const real Ep2r_real
Constant for rounded to the nearest machine number.
const real Pi_real
Constant for rounded to the nearest machine number.
real(void)
Constructor of class real.
void times2pown(cinterval &x, int n)
Fast multiplication of reference parameter [z] with .
const real MinReal
Smallest normalized representable floating-point number.
const real Pi3_real
Constant for rounded to the nearest machine number.
const real minreal
Smallest positive denormalized representable floating-point number.
friend real & operator+=(real &, const real &)
Implementation of standard algebraic addition and allocation operation.
friend real & operator-=(real &, const real &)
Implementation of standard algebraic subtraction and allocation operation.
const real QuietNaN
Representation of Not-a-Number in floating-point format.
const real Sqrt3_real
Constant for rounded to the nearest machine number.
const real LnPi_real
Constant for rounded to the nearest machine number.
string realToHex(const real &a)
Returns a real number in hexadecimal format as string.
friend std::ostream & operator<<(std::ostream &, const real &)
Implementation of standard output method.
const real Ep2Pi_real
Constant for rounded to the nearest machine number.
const real Pir_real
Constant for rounded to the nearest machine number.
friend int sign(const real &)
The sign of a real value.
friend real & operator*=(real &, const real &)
Implementation of standard algebraic multiplication and allocation operation.
friend real subup(const real &, const real &)
Subtraction of two real values and rounding the result upwards.
const real E_real
Constant for rounded to the nearest machine number.
const real SignalingNaN
Not defined result in floating-point format.
real(const float &a)
Constructor of class real.
friend real succ(const real &)
The successor of a real value.
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 bool operator<=(const real &a, const real &b)
Implementation of standard less-or-equal-than operation.
const real Sqrt2_real
Constant for rounded to the nearest machine number.
friend real addup(const real &, const real &)
Addition of two real values and rounding the result upwards.