Templated wrapper class which allows universal usage of different IEEE 754 implementations.
More...
|
| | 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_T & | setPrecision (const precision_t &) |
| | Allows to set the desired precision. More...
|
| |
| FLOAT_T & | operator= (const FLOAT_T &_rhs)=default |
| | Assignment operator. More...
|
| |
| FLOAT_T & | operator= (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_T & | add_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_T & | add (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_T & | sub_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_T & | sub (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_T & | mul_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_T & | mul (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_T & | div_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_T & | div (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_T & | sqrt_assign (CARL_RND=CARL_RND::N) |
| | Function for the square root of the number, which assigns the result to the calling number. More...
|
| |
| FLOAT_T & | sqrt (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_T & | cbrt_assign (CARL_RND=CARL_RND::N) |
| | Function for the cubic root of the number, which assigns the result to the calling number. More...
|
| |
| FLOAT_T & | cbrt (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_T & | root_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_T & | root (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_T & | pow_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_T & | pow (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_T & | abs_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the absolute value of this number. More...
|
| |
| FLOAT_T & | abs (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_T & | exp_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the exponential of this number. More...
|
| |
| FLOAT_T & | exp (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_T & | sin_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the sine of this number. More...
|
| |
| FLOAT_T & | sin (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_T & | cos_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the cosine of this number. More...
|
| |
| FLOAT_T & | cos (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_T & | log_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the logarithm of this number. More...
|
| |
| FLOAT_T & | log (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_T & | tan_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the tangent of this number. More...
|
| |
| FLOAT_T & | tan (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_T & | asin_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the arcus sine of this number. More...
|
| |
| FLOAT_T & | asin (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_T & | acos_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the arcus cosine of this number. More...
|
| |
| FLOAT_T & | acos (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_T & | atan_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the arcus tangent of this number. More...
|
| |
| FLOAT_T & | atan (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_T & | sinh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic sine of this number. More...
|
| |
| FLOAT_T & | sinh (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_T & | cosh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic cosine of this number. More...
|
| |
| FLOAT_T & | cosh (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_T & | tanh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic tangent of this number. More...
|
| |
| FLOAT_T & | tanh (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_T & | asinh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic arcus sine of this number. More...
|
| |
| FLOAT_T & | asinh (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_T & | acosh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic arcus cosine of this number. More...
|
| |
| FLOAT_T & | acosh (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_T & | atanh_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the hyperbolic arcus tangent of this number. More...
|
| |
| FLOAT_T & | atanh (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_T & | floor (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_T & | floor_assign (CARL_RND=CARL_RND::N) |
| | Assigns the number the floor of this number. More...
|
| |
| FLOAT_T & | ceil (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_T & | ceil_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_T & | ei_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_T & | ei_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_T & | operator+= (const FLOAT_T &_rhs) |
| | Operator which adds the righthand side to this. More...
|
| |
| FLOAT_T & | operator+= (const FloatType &_rhs) |
| | Operator which adds the righthand side of the underlying type to this. More...
|
| |
| FLOAT_T & | operator-= (const FLOAT_T &_rhs) |
| | Operator which subtracts the righthand side from this. More...
|
| |
| FLOAT_T & | operator-= (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_T & | operator*= (const FLOAT_T &_rhs) |
| | Operator which multiplicates this number by the righthand side. More...
|
| |
| FLOAT_T & | operator*= (const FloatType &_rhs) |
| | Operator which multiplicates this number by the righthand side of the underlying type. More...
|
| |
| FLOAT_T & | operator/= (const FLOAT_T &_rhs) |
| | Operator which divides this number by the righthand side. More...
|
| |
| FLOAT_T & | operator/= (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...
|
| |