26#ifndef _CXSC_REAL_HPP_INCLUDED
27#define _CXSC_REAL_HPP_INCLUDED
124 real(
const float &a) noexcept : w(a) { }
126 real(
const double &a) noexcept : w(a) { }
128 real(
const int a) noexcept : w(a) { }
130 real(
const long a) noexcept : w(a) { }
230 friend std::ostream &
operator <<(std::ostream &,
const real &)
noexcept;
356 real & operator = (
const lx_real&)
noexcept;
360inline real comp(
const real &,a_intg)
noexcept;
368std::ostream & operator <<(std::ostream &,
const real &)
noexcept;
369std::istream & operator >>(std::istream &,
real &)
noexcept;
370std::string & operator <<(std::string &,
const real &)
noexcept;
371std::string & operator >>(std::string &,
real &)
noexcept;
372void operator >>(
const char *,
real &)
noexcept;
373void operator >>(
const std::string &,
real &)
noexcept;
394 int sign,
unsigned int expo, a_btyp manthigh, a_btyp mantlow);
435extern const real Factor;
The Multiple-Precision Data Type l_real.
friend bool operator!=(const real &a, const real &b) noexcept
Implementation of standard negated equality operation.
friend real & operator+=(real &, const real &) noexcept
Implementation of standard algebraic addition and allocation operation.
friend bool operator>=(const real &a, const real &b) noexcept
Implementation of standard greater-or-equal-than operation.
friend bool operator!(const real &a) noexcept
Implementation of standard negation operation.
friend real pred(const real &) noexcept
The predecessor of a real value.
friend real multup(const real &, const real &)
Multiplication of two real values and rounding the result upwards.
friend a_intg expo(const real &) noexcept
The exponent of a real value.
friend real adddown(const real &, const real &)
Addition of two real values and rounding the result downwards.
friend bool operator>(const real &a, const real &b) noexcept
Implementation of standard greater-than operation.
friend INLINE real _real(const rvector_slice &) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend real succ(const real &) noexcept
The successor of a real value.
friend real & operator-=(real &, const real &) noexcept
Implementation of standard algebraic subtraction and allocation operation.
friend real subdown(const real &, const real &)
Subtraction of two real values and rounding the result downwards.
friend real comp(const real &, a_intg) noexcept
Composes an IEEE floating point value out of an given mantissa and exponent.
friend bool operator<=(const real &a, const real &b) noexcept
Implementation of standard less-or-equal-than operation.
friend real mant(const real &) noexcept
The mantissa of a real value.
friend bool operator==(const real &a, const real &b) noexcept
Implementation of standard equality operation.
friend real multdown(const real &, const real &)
Multiplication of two real values and rounding the result downwards.
friend real operator/(const real &, const real &) noexcept
Implementation of standard algebraic division operation.
friend bool operator<(const real &a, const real &b) noexcept
Implementation of standard less-than operation.
friend real & operator*=(real &, const real &) noexcept
Implementation of standard algebraic multiplication and allocation operation.
friend real & operator/=(real &, const real &) noexcept
Implementation of standard algebraic division and allocation operation.
friend double _double(const real &a) noexcept
Typecast to convert a real value into a double value.
friend real addup(const real &, const real &)
Addition of two real values and rounding the result upwards.
friend INLINE real _real(const rmatrix &) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend std::istream & operator>>(std::istream &, real &) noexcept
Implementation of standard input method.
friend real divup(const real &, const real &)
Division of two real values and rounding the result upwards.
friend real operator+(const real &) noexcept
Implementation of standard algebraic positive sign operation.
friend real operator-(const real &) noexcept
Implementation of standard algebraic negative sign operation.
friend real subup(const real &, const real &)
Subtraction of two real values and rounding the result upwards.
friend real operator*(const real &, const real &) noexcept
Implementation of standard algebraic multiplication operation.
friend INLINE real _real(const rvector &) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend int sign(const real &) noexcept
The sign of a real value.
real(void) noexcept
Constructor of class real.
real(const double &a) noexcept
Constructor of class real.
friend INLINE real _real(const rmatrix_slice &) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
friend std::ostream & operator<<(std::ostream &, const real &) noexcept
Implementation of standard output method.
friend real divdown(const real &, const real &)
Division of two real values and rounding the result downwards.
friend real _real(const double &a) noexcept
Deprecated typecast, which only exist for the reason of compatibility with older versions of C-XSC.
real(const long a) noexcept
Constructor of class real.
real(const float &a) noexcept
Constructor of class real.
friend real abs(const real &a) noexcept
The absolute value of a real value.
real(const int a) noexcept
Constructor of class real.
INLINE real(const rmatrix_slice &) noexcept
Constructor of class real.
The Data Type rmatrix_slice.
The Data Type rvector_slice.
The namespace cxsc, providing all functionality of the class library C-XSC.
const real EpPid4_real
Constant for rounded to the nearest machine number.
const real Er_real
Constant for rounded to the nearest machine number.
const real MinReal
Smallest normalized representable floating-point number.
const real Sqrt3r_real
Constant for rounded to the nearest machine number.
const real Sqrt2_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.
const real Ln10_real
Constant for rounded to the nearest machine number.
const real Sqrt7_real
Constant for rounded to the nearest machine number.
const real MaxReal
Greatest representable floating-point number.
const real SqrtPi_real
Constant for rounded to the nearest machine number.
const real Pid4_real
Constant for rounded to the nearest machine number.
const real Ln2_real
Constant for rounded to the nearest machine number.
const real SqrtPir_real
Constant for rounded to the nearest machine number.
const real Pip2_real
Constant for rounded to the nearest machine number.
const real Sqrt2r_real
Constant for rounded to the nearest machine number.
const real minreal
Smallest positive denormalized representable floating-point number.
const real QuietNaN
Representation of Not-a-Number in floating-point format.
const real E_real
Constant for rounded to the nearest machine number.
const real SignalingNaN
Not defined result in floating-point format.
const real Sqrt2Pi_real
Constant for rounded to the nearest machine number.
const real Ln2r_real
Constant for rounded to the nearest machine number.
const real Epsilon
Machine epsilon.
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.
const real EpPi_real
Constant for rounded to the nearest machine number.
const real Pir_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...
const real Ep2_real
Constant for rounded to the nearest machine number.
const real Pi3_real
Constant for rounded to the nearest machine number.
const real Pid3_real
Constant for rounded to the nearest machine number.
const real Infinity
Representation of positive infinity in floating-point format.
const real LnPi_real
Constant for rounded to the nearest machine number.
const real Sqrt5_real
Constant for rounded to the nearest machine number.
const real Sqrt3_real
Constant for rounded to the nearest machine number.
const real Ln2Pi_real
Constant for rounded to the nearest machine number.
const real Pid2_real
Constant for rounded to the nearest machine number.
real pow2n(const int n) noexcept
Returns the value of .
const real Pi2_real
Constant for rounded to the nearest machine number.
void times2pown(cinterval &x, int n) noexcept
Fast multiplication of reference parameter [z] with .
const real EpPid2_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....
const real Pi2r_real
Constant for rounded to the nearest machine number.
const real Sqrt2Pir_real
Constant for rounded to the nearest machine number.
const real Pi_real
Constant for rounded to the nearest machine number.
const real Sqrt3d2_real
Constant for rounded to the nearest machine number.
const real Ep2r_real
Constant for rounded to the nearest machine number.
const real Ln10r_real
Constant for rounded to the nearest machine number.
bool IsInfinity(const real &a)
Returns if the given real value represents the value infinity.
const real Ep2Pi_real
Constant for rounded to the nearest machine number.