carl  24.04
Computer ARithmetic Library
carl::FLOAT_T< FloatType > Class Template Reference

Templated wrapper class which allows universal usage of different IEEE 754 implementations. More...

#include <FLOAT_T.h>

Public Member Functions

 FLOAT_T ()
 Default empty constructor, which initializes to zero. More...
 
 FLOAT_T (double _double, CARL_RND=CARL_RND::N)
 Constructor, which takes a double as input and optional rounding, which can be used, if the underlying fp implementation allows this. More...
 
 FLOAT_T (sint _int, CARL_RND=CARL_RND::N)
 Constructor, which takes an integer as input and optional rounding, which can be used, if the underlying fp implementation allows this. More...
 
 FLOAT_T (int _int, CARL_RND=CARL_RND::N)
 
 FLOAT_T (unsigned _int, CARL_RND=CARL_RND::N)
 Constructor, which takes an unsigned integer as input and optional rounding, which can be used, if the underlying fp implementation allows this. More...
 
 FLOAT_T (const FLOAT_T &_float, CARL_RND=CARL_RND::N)
 Copyconstructor which takes a FLOAT_T<FloatType> and optional rounding as input, which can be used, if the underlying fp implementation allows this. More...
 
 FLOAT_T (FLOAT_T &&_float, CARL_RND=CARL_RND::N) noexcept
 
template<typename F = FloatType, DisableIf< std::is_same< F, double > > = dummy>
 FLOAT_T (FloatType val, CARL_RND=CARL_RND::N)
 Constructor, which takes an arbitrary fp type as input and optional rounding, which can be used, if the underlying fp implementation allows this. More...
 
template<typename F = FloatType, EnableIf< carl::is_rational_type< F > > = dummy>
 FLOAT_T (const std::string &_string, CARL_RND=CARL_RND::N)
 
template<typename F = FloatType, EnableIf< std::is_same< F, double > > = dummy>
 FLOAT_T (const std::string &_string, CARL_RND=CARL_RND::N)
 
 ~FLOAT_T ()=default
 Destructor. More...
 
const FloatType & value () const
 Getter for the raw value contained. More...
 
precision_t precision () const
 If precision is used, this getter returns the acutal precision (default: 53 bit). More...
 
FLOAT_TsetPrecision (const precision_t &)
 Allows to set the desired precision. More...
 
FLOAT_Toperator= (const FLOAT_T &_rhs)=default
 Assignment operator. More...
 
FLOAT_Toperator= (const FloatType &_rhs)
 
bool operator== (const FLOAT_T &_rhs) const
 Comparison operator for equality. More...
 
bool operator!= (const FLOAT_T &_rhs) const
 Comparison operator for inequality. More...
 
bool operator> (const FLOAT_T &_rhs) const
 Comparison operator for larger than. More...
 
bool operator> (int _rhs) const
 
bool operator> (unsigned _rhs) const
 
bool operator< (const FLOAT_T &_rhs) const
 Comparison operator for less than. More...
 
bool operator< (int _rhs) const
 
bool operator< (unsigned _rhs) const
 
bool operator<= (const FLOAT_T &_rhs) const
 Comparison operator for less or equal than. More...
 
bool operator>= (const FLOAT_T &_rhs) const
 Comparison operator for larger or equal than. More...
 
FLOAT_Tadd_assign (const FLOAT_T &_op2, CARL_RND=CARL_RND::N)
 Function for addition of two numbers, which assigns the result to the calling number. More...
 
FLOAT_Tadd (FLOAT_T &_result, const FLOAT_T &_op2, CARL_RND=CARL_RND::N) const
 Function which adds two numbers and puts the result in a third number passed as parameter. More...
 
FLOAT_Tsub_assign (const FLOAT_T &_op2, CARL_RND=CARL_RND::N)
 Function for subtraction of two numbers, which assigns the result to the calling number. More...
 
FLOAT_Tsub (FLOAT_T &_result, const FLOAT_T &_op2, CARL_RND=CARL_RND::N) const
 Function which subtracts the righthand side from this number and puts the result in a third number passed as parameter. More...
 
FLOAT_Tmul_assign (const FLOAT_T &_op2, CARL_RND=CARL_RND::N)
 Function for multiplication of two numbers, which assigns the result to the calling number. More...
 
FLOAT_Tmul (FLOAT_T &_result, const FLOAT_T &_op2, CARL_RND=CARL_RND::N) const
 Function which multiplicates two numbers and puts the result in a third number passed as parameter. More...
 
FLOAT_Tdiv_assign (const FLOAT_T &_op2, CARL_RND=CARL_RND::N)
 Function for division of two numbers, which assigns the result to the calling number. More...
 
FLOAT_Tdiv (FLOAT_T &_result, const FLOAT_T &_op2, CARL_RND=CARL_RND::N) const
 Function which divides this number by the righthand side and puts the result in a third number passed as parameter. More...
 
FLOAT_Tsqrt_assign (CARL_RND=CARL_RND::N)
 Function for the square root of the number, which assigns the result to the calling number. More...
 
FLOAT_Tsqrt (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Returns the square root of this number and puts it into a passed result parameter. More...
 
FLOAT_Tcbrt_assign (CARL_RND=CARL_RND::N)
 Function for the cubic root of the number, which assigns the result to the calling number. More...
 
FLOAT_Tcbrt (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Returns the cubic root of this number and puts it into a passed result parameter. More...
 
FLOAT_Troot_assign (std::size_t, CARL_RND=CARL_RND::N)
 Function for the nth root of the number, which assigns the result to the calling number. More...
 
FLOAT_Troot (FLOAT_T &, std::size_t, CARL_RND=CARL_RND::N) const
 Function which calculates the nth root of this number and puts it into a passed result parameter. More...
 
FLOAT_Tpow_assign (std::size_t _exp, CARL_RND=CARL_RND::N)
 Function for the nth power of the number, which assigns the result to the calling number. More...
 
FLOAT_Tpow (FLOAT_T &_result, std::size_t _exp, CARL_RND=CARL_RND::N) const
 Function which calculates the power of this number and puts it into a passed result parameter. More...
 
FLOAT_Tabs_assign (CARL_RND=CARL_RND::N)
 Assigns the number the absolute value of this number. More...
 
FLOAT_Tabs (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the absolute value of this number and puts it into a passed result parameter. More...
 
FLOAT_Texp_assign (CARL_RND=CARL_RND::N)
 Assigns the number the exponential of this number. More...
 
FLOAT_Texp (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the exponential of this number and puts it into a passed result parameter. More...
 
FLOAT_Tsin_assign (CARL_RND=CARL_RND::N)
 Assigns the number the sine of this number. More...
 
FLOAT_Tsin (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the sine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tcos_assign (CARL_RND=CARL_RND::N)
 Assigns the number the cosine of this number. More...
 
FLOAT_Tcos (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the cosine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tlog_assign (CARL_RND=CARL_RND::N)
 Assigns the number the logarithm of this number. More...
 
FLOAT_Tlog (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the logarithm of this number and puts it into a passed result parameter. More...
 
FLOAT_Ttan_assign (CARL_RND=CARL_RND::N)
 Assigns the number the tangent of this number. More...
 
FLOAT_Ttan (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the tangent of this number and puts it into a passed result parameter. More...
 
FLOAT_Tasin_assign (CARL_RND=CARL_RND::N)
 Assigns the number the arcus sine of this number. More...
 
FLOAT_Tasin (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the arcus sine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tacos_assign (CARL_RND=CARL_RND::N)
 Assigns the number the arcus cosine of this number. More...
 
FLOAT_Tacos (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the arcus cosine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tatan_assign (CARL_RND=CARL_RND::N)
 Assigns the number the arcus tangent of this number. More...
 
FLOAT_Tatan (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the arcus tangent of this number and puts it into a passed result parameter. More...
 
FLOAT_Tsinh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic sine of this number. More...
 
FLOAT_Tsinh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic sine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tcosh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic cosine of this number. More...
 
FLOAT_Tcosh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic cosine of this number and puts it into a passed result parameter. More...
 
FLOAT_Ttanh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic tangent of this number. More...
 
FLOAT_Ttanh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic tangent of this number and puts it into a passed result parameter. More...
 
FLOAT_Tasinh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic arcus sine of this number. More...
 
FLOAT_Tasinh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic arcus sine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tacosh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic arcus cosine of this number. More...
 
FLOAT_Tacosh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic arcus cosine of this number and puts it into a passed result parameter. More...
 
FLOAT_Tatanh_assign (CARL_RND=CARL_RND::N)
 Assigns the number the hyperbolic arcus tangent of this number. More...
 
FLOAT_Tatanh (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the hyperbolic arcus tangent of this number and puts it into a passed result parameter. More...
 
FLOAT_Tfloor (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the floor of this number and puts it into a passed result parameter. More...
 
FLOAT_Tfloor_assign (CARL_RND=CARL_RND::N)
 Assigns the number the floor of this number. More...
 
FLOAT_Tceil (FLOAT_T &_result, CARL_RND=CARL_RND::N) const
 Function which calculates the ceiling of this number and puts it into a passed result parameter. More...
 
FLOAT_Tceil_assign (CARL_RND=CARL_RND::N)
 Assigns the number the ceiling of this number. More...
 
double to_double (CARL_RND=CARL_RND::N) const
 Function which converts the number to a double value. More...
 
 operator int () const
 Explicit typecast operator to integer. More...
 
 operator long () const
 Explicit typecast operator to long. More...
 
 operator double () const
 Explicit typecast operator to double. More...
 
 operator mpq_class () const
 
const FLOAT_Tei_conj (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the complex conjugate. More...
 
const FLOAT_Tei_real (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the real part. More...
 
FLOAT_T ei_imag (const FLOAT_T &)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the imaginary part. More...
 
FLOAT_T ei_abs (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the absolute value. More...
 
FLOAT_T ei_abs2 (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the absolute value (special Eigen3 version). More...
 
FLOAT_T ei_sqrt (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the square root. More...
 
FLOAT_T ei_exp (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the exponential. More...
 
FLOAT_T ei_log (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the logarithm. More...
 
FLOAT_T ei_sin (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the sine. More...
 
FLOAT_T ei_cos (const FLOAT_T &x)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the cosine. More...
 
FLOAT_T ei_pow (const FLOAT_T &x, FLOAT_T y)
 Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the power. More...
 
FLOAT_Toperator+= (const FLOAT_T &_rhs)
 Operator which adds the righthand side to this. More...
 
FLOAT_Toperator+= (const FloatType &_rhs)
 Operator which adds the righthand side of the underlying type to this. More...
 
FLOAT_Toperator-= (const FLOAT_T &_rhs)
 Operator which subtracts the righthand side from this. More...
 
FLOAT_Toperator-= (const FloatType &_rhs)
 Operator which subtracts the righthand side of the underlying type from this. More...
 
FLOAT_T operator- ()
 Operator for unary negation of this number. More...
 
FLOAT_Toperator*= (const FLOAT_T &_rhs)
 Operator which multiplicates this number by the righthand side. More...
 
FLOAT_Toperator*= (const FloatType &_rhs)
 Operator which multiplicates this number by the righthand side of the underlying type. More...
 
FLOAT_Toperator/= (const FLOAT_T &_rhs)
 Operator which divides this number by the righthand side. More...
 
FLOAT_Toperator/= (const FloatType &_rhs)
 Operator which divides this number by the righthand side of the underlying type. More...
 
std::string toString () const
 Method which converts this number to a string. More...
 

Private Attributes

FloatType mValue
 

Friends

std::ostream & operator<< (std::ostream &ostr, const FLOAT_T &p)
 Output stream operator for numbers of type FLOAT_T. More...
 
FLOAT_T operator+ (const FLOAT_T &_lhs, const FLOAT_T &_rhs)
 Operator for addition of two numbers. More...
 
FLOAT_T operator- (const FLOAT_T &_lhs, const FLOAT_T &_rhs)
 Operator for subtraction of two numbers. More...
 
FLOAT_T operator- (const FLOAT_T &_lhs)
 Operator for unary negation of a number. More...
 
FLOAT_T operator* (const FLOAT_T &_lhs, const FLOAT_T &_rhs)
 Operator for addition of two numbers. More...
 
FLOAT_T operator/ (const FLOAT_T &_lhs, const FLOAT_T &_rhs)
 Operator for addition of two numbers. More...
 
FLOAT_Toperator++ (FLOAT_T &_num)
 Operator which increments this number by one. More...
 
FLOAT_Toperator-- (FLOAT_T &_num)
 Operator which decrements this number by one. More...
 

Detailed Description

template<typename FloatType>
class carl::FLOAT_T< FloatType >

Templated wrapper class which allows universal usage of different IEEE 754 implementations.

For each implementation intended to use it is necessary to implement the according specialization of this class.

Definition at line 113 of file FLOAT_T.h.

Constructor & Destructor Documentation

◆ FLOAT_T() [1/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( )
inline

Default empty constructor, which initializes to zero.

Definition at line 124 of file FLOAT_T.h.

Here is the caller graph for this function:

◆ FLOAT_T() [2/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( double  _double,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Constructor, which takes a double as input and optional rounding, which can be used, if the underlying fp implementation allows this.

Parameters
_doubleValue to be initialized.
NPossible rounding direction.

Definition at line 134 of file FLOAT_T.h.

◆ FLOAT_T() [3/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( sint  _int,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Constructor, which takes an integer as input and optional rounding, which can be used, if the underlying fp implementation allows this.

Parameters
_intValue to be initialized.
NPossible rounding direction.

Definition at line 145 of file FLOAT_T.h.

◆ FLOAT_T() [4/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( int  _int,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Definition at line 150 of file FLOAT_T.h.

◆ FLOAT_T() [5/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( unsigned  _int,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Constructor, which takes an unsigned integer as input and optional rounding, which can be used, if the underlying fp implementation allows this.

Parameters
_intValue to be initialized.
NPossible rounding direction.

Definition at line 161 of file FLOAT_T.h.

◆ FLOAT_T() [6/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( const FLOAT_T< FloatType > &  _float,
CARL_RND  = CARL_RND::N 
)
inline

Copyconstructor which takes a FLOAT_T<FloatType> and optional rounding as input, which can be used, if the underlying fp implementation allows this.

Parameters
_floatValue to be initialized.
NPossible rounding direction.

Definition at line 173 of file FLOAT_T.h.

◆ FLOAT_T() [7/10]

template<typename FloatType >
carl::FLOAT_T< FloatType >::FLOAT_T ( FLOAT_T< FloatType > &&  _float,
CARL_RND  = CARL_RND::N 
)
inlinenoexcept

Definition at line 176 of file FLOAT_T.h.

◆ FLOAT_T() [8/10]

template<typename FloatType >
template<typename F = FloatType, DisableIf< std::is_same< F, double > > = dummy>
carl::FLOAT_T< FloatType >::FLOAT_T ( FloatType  val,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Constructor, which takes an arbitrary fp type as input and optional rounding, which can be used, if the underlying fp implementation allows this.

Parameters
valValue to be initialized.
NPossible rounding direction.

Definition at line 186 of file FLOAT_T.h.

◆ FLOAT_T() [9/10]

template<typename FloatType >
template<typename F = FloatType, EnableIf< carl::is_rational_type< F > > = dummy>
carl::FLOAT_T< FloatType >::FLOAT_T ( const std::string &  _string,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Definition at line 192 of file FLOAT_T.h.

◆ FLOAT_T() [10/10]

template<typename FloatType >
template<typename F = FloatType, EnableIf< std::is_same< F, double > > = dummy>
carl::FLOAT_T< FloatType >::FLOAT_T ( const std::string &  _string,
CARL_RND  = CARL_RND::N 
)
inlineexplicit

Definition at line 198 of file FLOAT_T.h.

◆ ~FLOAT_T()

template<typename FloatType >
carl::FLOAT_T< FloatType >::~FLOAT_T ( )
default

Destructor.

Note that for some specializations memory management has to be included here.

Member Function Documentation

◆ abs()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::abs ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the absolute value of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 572 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ abs_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::abs_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the absolute value of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 559 of file FLOAT_T.h.

Here is the call graph for this function:

◆ acos()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::acos ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the arcus cosine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 740 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ acos_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::acos_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the arcus cosine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 727 of file FLOAT_T.h.

Here is the call graph for this function:

◆ acosh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::acosh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic arcus cosine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 884 of file FLOAT_T.h.

Here is the call graph for this function:

◆ acosh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::acosh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic arcus cosine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 871 of file FLOAT_T.h.

Here is the call graph for this function:

◆ add()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::add ( FLOAT_T< FloatType > &  _result,
const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
) const
inline

Function which adds two numbers and puts the result in a third number passed as parameter.

Parameters
_resultResult of the operation.
_op2Righthand side of the operation.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 354 of file FLOAT_T.h.

◆ add_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::add_assign ( const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
)
inline

Function for addition of two numbers, which assigns the result to the calling number.

Parameters
_op2Righthand side of the operation
NPossible rounding direction.
Returns
Reference to this.

Definition at line 341 of file FLOAT_T.h.

◆ asin()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::asin ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the arcus sine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 716 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ asin_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::asin_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the arcus sine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 703 of file FLOAT_T.h.

Here is the call graph for this function:

◆ asinh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::asinh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic arcus sine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 860 of file FLOAT_T.h.

Here is the call graph for this function:

◆ asinh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::asinh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic arcus sine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 847 of file FLOAT_T.h.

Here is the call graph for this function:

◆ atan()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::atan ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the arcus tangent of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 764 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ atan_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::atan_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the arcus tangent of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 751 of file FLOAT_T.h.

Here is the call graph for this function:

◆ atanh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::atanh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic arcus tangent of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 908 of file FLOAT_T.h.

Here is the call graph for this function:

◆ atanh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::atanh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic arcus tangent of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 895 of file FLOAT_T.h.

Here is the call graph for this function:

◆ cbrt()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cbrt ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Returns the cubic root of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 490 of file FLOAT_T.h.

◆ cbrt_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cbrt_assign ( CARL_RND  = CARL_RND::N)
inline

Function for the cubic root of the number, which assigns the result to the calling number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 476 of file FLOAT_T.h.

◆ ceil()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::ceil ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the ceiling of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 945 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ceil_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::ceil_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the ceiling of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 956 of file FLOAT_T.h.

Here is the call graph for this function:

◆ cos()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cos ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the cosine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 644 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cos_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cos_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the cosine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 631 of file FLOAT_T.h.

Here is the call graph for this function:

◆ cosh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cosh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic cosine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 812 of file FLOAT_T.h.

Here is the call graph for this function:

◆ cosh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::cosh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic cosine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 799 of file FLOAT_T.h.

Here is the call graph for this function:

◆ div()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::div ( FLOAT_T< FloatType > &  _result,
const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
) const
inline

Function which divides this number by the righthand side and puts the result in a third number passed as parameter.

Parameters
_resultResult of the operation.
_op2Righthand side of the operation.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 436 of file FLOAT_T.h.

◆ div_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::div_assign ( const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
)
inline

Function for division of two numbers, which assigns the result to the calling number.

Parameters
_op2Righthand side of the operation
NPossible rounding direction.
Returns
Reference to this.

Definition at line 421 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_abs()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_abs ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the absolute value.

Parameters
xThe passed number.
Returns
Number which holds the absolute value of x.

Definition at line 1065 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_abs2()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_abs2 ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the absolute value (special Eigen3 version).

Parameters
xThe passed number.
Returns
Number which holds the absolute value of x according to abs2 of Eigen3.

Definition at line 1079 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_conj()

template<typename FloatType >
const FLOAT_T& carl::FLOAT_T< FloatType >::ei_conj ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the complex conjugate.

Parameters
xThe passed number.
Returns
Reference to x.

Definition at line 1032 of file FLOAT_T.h.

◆ ei_cos()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_cos ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the cosine.

Parameters
xThe passed number.
Returns
Number which holds the cosine of x.

Definition at line 1144 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_exp()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_exp ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the exponential.

Parameters
xThe passed number.
Returns
Number which holds the exponential of x.

Definition at line 1105 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_imag()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_imag ( const FLOAT_T< FloatType > &  )
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the imaginary part.

Parameters
xThe passed number.
Returns
Zero.

Definition at line 1054 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_log()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_log ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the logarithm.

Parameters
xThe passed number.
Returns
Number which holds the logarithm of x.

Definition at line 1118 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_pow()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_pow ( const FLOAT_T< FloatType > &  x,
FLOAT_T< FloatType >  y 
)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the power.

Parameters
xThe passed number.
yDegree.
Returns
Number which holds the power of x of degree y.

Definition at line 1158 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_real()

template<typename FloatType >
const FLOAT_T& carl::FLOAT_T< FloatType >::ei_real ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the real part.

Parameters
xThe passed number.
Returns
Reference to x.

Definition at line 1043 of file FLOAT_T.h.

◆ ei_sin()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_sin ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the sine.

Parameters
xThe passed number.
Returns
Number which holds the sine of x.

Definition at line 1131 of file FLOAT_T.h.

Here is the call graph for this function:

◆ ei_sqrt()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::ei_sqrt ( const FLOAT_T< FloatType > &  x)
inline

Function required for extension of Eigen3 with FLOAT_T as a custom type which calculates the square root.

Parameters
xThe passed number.
Returns
Number which holds the square root of x.

Definition at line 1092 of file FLOAT_T.h.

Here is the call graph for this function:

◆ exp()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::exp ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the exponential of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 596 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exp_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::exp_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the exponential of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 583 of file FLOAT_T.h.

Here is the call graph for this function:

◆ floor()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::floor ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the floor of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 921 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ floor_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::floor_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the floor of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 932 of file FLOAT_T.h.

Here is the call graph for this function:

◆ log()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::log ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the logarithm of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 668 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::log_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the logarithm of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 655 of file FLOAT_T.h.

Here is the call graph for this function:

◆ mul()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::mul ( FLOAT_T< FloatType > &  _result,
const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
) const
inline

Function which multiplicates two numbers and puts the result in a third number passed as parameter.

Parameters
_resultResult of the operation.
_op2Righthand side of the operation.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 408 of file FLOAT_T.h.

Here is the caller graph for this function:

◆ mul_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::mul_assign ( const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
)
inline

Function for multiplication of two numbers, which assigns the result to the calling number.

Parameters
_op2Righthand side of the operation
NPossible rounding direction.
Returns
Reference to this.

Definition at line 394 of file FLOAT_T.h.

◆ operator double()

template<typename FloatType >
carl::FLOAT_T< FloatType >::operator double ( ) const
inlineexplicit

Explicit typecast operator to double.

Returns
Double representation of this.

Definition at line 999 of file FLOAT_T.h.

Here is the call graph for this function:

◆ operator int()

template<typename FloatType >
carl::FLOAT_T< FloatType >::operator int ( ) const
inlineexplicit

Explicit typecast operator to integer.

Returns
Integer representation of this.

Definition at line 978 of file FLOAT_T.h.

Here is the call graph for this function:

◆ operator long()

template<typename FloatType >
carl::FLOAT_T< FloatType >::operator long ( ) const
inlineexplicit

Explicit typecast operator to long.

Returns
Long representation of this.

Definition at line 990 of file FLOAT_T.h.

◆ operator mpq_class()

template<typename FloatType >
carl::FLOAT_T< FloatType >::operator mpq_class ( ) const
inlineexplicit

Definition at line 1004 of file FLOAT_T.h.

Here is the call graph for this function:

◆ operator!=()

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator!= ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for inequality.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs is unequal to this.

Definition at line 268 of file FLOAT_T.h.

◆ operator*=() [1/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator*= ( const FLOAT_T< FloatType > &  _rhs)
inline

Operator which multiplicates this number by the righthand side.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1302 of file FLOAT_T.h.

◆ operator*=() [2/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator*= ( const FloatType &  _rhs)
inline

Operator which multiplicates this number by the righthand side of the underlying type.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1314 of file FLOAT_T.h.

◆ operator+=() [1/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator+= ( const FLOAT_T< FloatType > &  _rhs)
inline

Operator which adds the righthand side to this.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1247 of file FLOAT_T.h.

◆ operator+=() [2/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator+= ( const FloatType &  _rhs)
inline

Operator which adds the righthand side of the underlying type to this.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1258 of file FLOAT_T.h.

◆ operator-()

template<typename FloatType >
FLOAT_T carl::FLOAT_T< FloatType >::operator- ( )
inline

Operator for unary negation of this number.

Returns
Number which holds the negated original number.

Definition at line 1290 of file FLOAT_T.h.

Here is the call graph for this function:

◆ operator-=() [1/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator-= ( const FLOAT_T< FloatType > &  _rhs)
inline

Operator which subtracts the righthand side from this.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1269 of file FLOAT_T.h.

◆ operator-=() [2/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator-= ( const FloatType &  _rhs)
inline

Operator which subtracts the righthand side of the underlying type from this.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1280 of file FLOAT_T.h.

◆ operator/=() [1/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator/= ( const FLOAT_T< FloatType > &  _rhs)
inline

Operator which divides this number by the righthand side.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1325 of file FLOAT_T.h.

◆ operator/=() [2/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator/= ( const FloatType &  _rhs)
inline

Operator which divides this number by the righthand side of the underlying type.

Parameters
_rhs
Returns
Reference to this.

Definition at line 1337 of file FLOAT_T.h.

◆ operator<() [1/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator< ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for less than.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs is smaller than this.

Definition at line 299 of file FLOAT_T.h.

◆ operator<() [2/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator< ( int  _rhs) const
inline

Definition at line 304 of file FLOAT_T.h.

◆ operator<() [3/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator< ( unsigned  _rhs) const
inline

Definition at line 309 of file FLOAT_T.h.

◆ operator<=()

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator<= ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for less or equal than.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs is larger or equal than this.

Definition at line 319 of file FLOAT_T.h.

◆ operator=() [1/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator= ( const FLOAT_T< FloatType > &  _rhs)
default

Assignment operator.

Parameters
_rhsRighthand side of the assignment.
Returns
Reference to this.

◆ operator=() [2/2]

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::operator= ( const FloatType &  _rhs)
inline

Definition at line 245 of file FLOAT_T.h.

◆ operator==()

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator== ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for equality.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs equals this.

Definition at line 256 of file FLOAT_T.h.

◆ operator>() [1/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator> ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for larger than.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs is larger than this.

Definition at line 278 of file FLOAT_T.h.

◆ operator>() [2/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator> ( int  _rhs) const
inline

Definition at line 283 of file FLOAT_T.h.

◆ operator>() [3/3]

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator> ( unsigned  _rhs) const
inline

Definition at line 288 of file FLOAT_T.h.

◆ operator>=()

template<typename FloatType >
bool carl::FLOAT_T< FloatType >::operator>= ( const FLOAT_T< FloatType > &  _rhs) const
inline

Comparison operator for larger or equal than.

Parameters
_rhsRighthand side of the comparison.
Returns
True if _rhs is smaller or equal than this.

Definition at line 329 of file FLOAT_T.h.

◆ pow()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::pow ( FLOAT_T< FloatType > &  _result,
std::size_t  _exp,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the power of this number and puts it into a passed result parameter.

Parameters
_resultResult.
_expExponent.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 548 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pow_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::pow_assign ( std::size_t  _exp,
CARL_RND  = CARL_RND::N 
)
inline

Function for the nth power of the number, which assigns the result to the calling number.

Parameters
_expExponent.
NPossible rounding direction.
Returns
Reference to this.

Definition at line 534 of file FLOAT_T.h.

Here is the call graph for this function:

◆ precision()

template<typename FloatType >
precision_t carl::FLOAT_T< FloatType >::precision ( ) const
inline

If precision is used, this getter returns the acutal precision (default: 53 bit).

Returns
Precision.

Definition at line 222 of file FLOAT_T.h.

Here is the caller graph for this function:

◆ root()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::root ( FLOAT_T< FloatType > &  ,
std::size_t  ,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the nth root of this number and puts it into a passed result parameter.

Parameters
Result.
Degreeof the root.
NPossible rounding direction.
Returns
Reference to the result.
Todo:
implement root for FLOAT_T

Definition at line 520 of file FLOAT_T.h.

◆ root_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::root_assign ( std::size_t  ,
CARL_RND  = CARL_RND::N 
)
inline

Function for the nth root of the number, which assigns the result to the calling number.

Parameters
Degreeof the root.
NPossible rounding direction.
Returns
Reference to this.
Todo:
implement root_assign for FLOAT_T

Definition at line 504 of file FLOAT_T.h.

◆ setPrecision()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::setPrecision ( const precision_t )
inline

Allows to set the desired precision.

Note: If the value is already initialized this can change the internal value.

Parameters
Precisionin bits.
Returns
Reference to this.

Definition at line 233 of file FLOAT_T.h.

◆ sin()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sin ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the sine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 620 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sin_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sin_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the sine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 607 of file FLOAT_T.h.

Here is the call graph for this function:

◆ sinh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sinh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic sine of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 788 of file FLOAT_T.h.

Here is the call graph for this function:

◆ sinh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sinh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic sine of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 775 of file FLOAT_T.h.

Here is the call graph for this function:

◆ sqrt()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sqrt ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Returns the square root of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 463 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sqrt_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sqrt_assign ( CARL_RND  = CARL_RND::N)
inline

Function for the square root of the number, which assigns the result to the calling number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 449 of file FLOAT_T.h.

Here is the call graph for this function:

◆ sub()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sub ( FLOAT_T< FloatType > &  _result,
const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
) const
inline

Function which subtracts the righthand side from this number and puts the result in a third number passed as parameter.

Parameters
_resultResult of the operation.
_op2Righthand side of the operation.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 381 of file FLOAT_T.h.

◆ sub_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::sub_assign ( const FLOAT_T< FloatType > &  _op2,
CARL_RND  = CARL_RND::N 
)
inline

Function for subtraction of two numbers, which assigns the result to the calling number.

Parameters
_op2Righthand side of the operation
NPossible rounding direction.
Returns
Reference to this.

Definition at line 367 of file FLOAT_T.h.

◆ tan()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::tan ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the tangent of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 692 of file FLOAT_T.h.

Here is the call graph for this function:

◆ tan_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::tan_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the tangent of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 679 of file FLOAT_T.h.

Here is the call graph for this function:

◆ tanh()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::tanh ( FLOAT_T< FloatType > &  _result,
CARL_RND  = CARL_RND::N 
) const
inline

Function which calculates the hyperbolic tangent of this number and puts it into a passed result parameter.

Parameters
_resultResult.
NPossible rounding direction.
Returns
Reference to the result.

Definition at line 836 of file FLOAT_T.h.

Here is the call graph for this function:

◆ tanh_assign()

template<typename FloatType >
FLOAT_T& carl::FLOAT_T< FloatType >::tanh_assign ( CARL_RND  = CARL_RND::N)
inline

Assigns the number the hyperbolic tangent of this number.

Parameters
NPossible rounding direction.
Returns
Reference to this.

Definition at line 823 of file FLOAT_T.h.

Here is the call graph for this function:

◆ to_double()

template<typename FloatType >
double carl::FLOAT_T< FloatType >::to_double ( CARL_RND  = CARL_RND::N) const
inline

Function which converts the number to a double value.

Parameters
NPossible rounding direction.
Returns
Double representation of this

Definition at line 968 of file FLOAT_T.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toString()

template<typename FloatType >
std::string carl::FLOAT_T< FloatType >::toString ( ) const
inline

Method which converts this number to a string.

Returns
String representation of this number.

Definition at line 1347 of file FLOAT_T.h.

Here is the call graph for this function:

◆ value()

template<typename FloatType >
const FloatType& carl::FLOAT_T< FloatType >::value ( ) const
inline

Getter for the raw value contained.

Returns
Raw value.

Definition at line 213 of file FLOAT_T.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator*

template<typename FloatType >
FLOAT_T operator* ( const FLOAT_T< FloatType > &  _lhs,
const FLOAT_T< FloatType > &  _rhs 
)
friend

Operator for addition of two numbers.

Parameters
_lhsLefthand side.
_rhsRighthand side.
Returns
Number which holds the result.

Definition at line 1203 of file FLOAT_T.h.

◆ operator+

template<typename FloatType >
FLOAT_T operator+ ( const FLOAT_T< FloatType > &  _lhs,
const FLOAT_T< FloatType > &  _rhs 
)
friend

Operator for addition of two numbers.

Parameters
_lhsLefthand side.
_rhsRighthand side.
Returns
Number which holds the result.

Definition at line 1171 of file FLOAT_T.h.

◆ operator++

template<typename FloatType >
FLOAT_T& operator++ ( FLOAT_T< FloatType > &  _num)
friend

Operator which increments this number by one.

Parameters
_num
Returns
Reference to _num.

Definition at line 1225 of file FLOAT_T.h.

◆ operator- [1/2]

template<typename FloatType >
FLOAT_T operator- ( const FLOAT_T< FloatType > &  _lhs)
friend

Operator for unary negation of a number.

Parameters
_lhsLefthand side.
Returns
Number which holds the result.

Definition at line 1192 of file FLOAT_T.h.

◆ operator- [2/2]

template<typename FloatType >
FLOAT_T operator- ( const FLOAT_T< FloatType > &  _lhs,
const FLOAT_T< FloatType > &  _rhs 
)
friend

Operator for subtraction of two numbers.

Parameters
_lhsLefthand side.
_rhsRighthand side.
Returns
Number which holds the result.

Definition at line 1182 of file FLOAT_T.h.

◆ operator--

template<typename FloatType >
FLOAT_T& operator-- ( FLOAT_T< FloatType > &  _num)
friend

Operator which decrements this number by one.

Parameters
_num
Returns
Reference to _num.

Definition at line 1236 of file FLOAT_T.h.

◆ operator/

template<typename FloatType >
FLOAT_T operator/ ( const FLOAT_T< FloatType > &  _lhs,
const FLOAT_T< FloatType > &  _rhs 
)
friend

Operator for addition of two numbers.

Parameters
_lhsLefthand side.
_rhsRighthand side.
Returns
Number which holds the result.

Definition at line 1214 of file FLOAT_T.h.

◆ operator<<

template<typename FloatType >
std::ostream& operator<< ( std::ostream &  ostr,
const FLOAT_T< FloatType > &  p 
)
friend

Output stream operator for numbers of type FLOAT_T.

Parameters
ostrOutput stream.
pNumber.
Returns
Reference to the ostream.

Definition at line 1020 of file FLOAT_T.h.

Field Documentation

◆ mValue

template<typename FloatType >
FloatType carl::FLOAT_T< FloatType >::mValue
private

Definition at line 117 of file FLOAT_T.h.


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