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...
|
|