Specifies a floating point format like those described in IEEE-754, with an adjustable number of bits in the exponent and mantissa.
More...
|
| static constexpr unsigned int | total_size_bits () |
| static constexpr unsigned int | mantissa_size_bits () |
| static constexpr unsigned int | exponent_size_bits () |
| template<class T> |
| static constexpr T | mantissa_mask () |
| template<class T> |
| static constexpr T | exponent_mask () |
| template<class T> |
| static constexpr T | sign_mask () |
| template<class T> |
| static constexpr T | full_mask () |
| template<class T> |
| static constexpr T | exponent_bias () |
| template<class T> |
| static constexpr T | max_exponent_with_bias () |
| template<class T> |
| static constexpr bool | is_infinite (const T pattern) |
| template<class T> |
| static constexpr bool | is_NaN (const T pattern) |
| template<class T> |
| static constexpr T | absolute_value (const T pattern) |
| template<class T> |
| static constexpr T | to_total_ordering (const T pattern) |
| template<class T> |
| static constexpr T | from_total_ordering (const T pattern) |
| template<class T> |
| static constexpr T | positive_zero () |
| template<class T> |
| static constexpr T | negative_zero () |
| template<class T> |
| static constexpr T | positive_infinity () |
| template<class T> |
| static constexpr T | negative_infinity () |
| template<class T> |
| static constexpr bool | round_results (const bool is_negative, const bool is_odd, const bool is_nearer_to_up, const bool is_tied, RoundingModes rt) |
| template<class T> |
| static constexpr T | add_patterns (const T a, const T b, const RoundingModes rt=RoundingModes::Default) |
| | The absolute value of must be greater than or equal than that of .
|
| template<class T> |
| static constexpr T | subtract_patterns (const T a, const T b, const RoundingModes rt=RoundingModes::Default) |
| | The absolute value of must be greater than or equal than that of .
|
| template<class T> |
| static constexpr T | add (const T a, const T b, const RoundingModes rt=RoundingModes::Default) |
| template<class T> |
| static constexpr T | subtract (const T a, const T b, const RoundingModes rt=RoundingModes::Default) |
template<unsigned int mantiss, unsigned int exp, unsigned int tag = 1>
class FloatingPointHelpers::IEEE754_like< mantiss, exp, tag >
Specifies a floating point format like those described in IEEE-754, with an adjustable number of bits in the exponent and mantissa.
tag just allows differing floating point definitions with the same size, in case there are e. g. multiple implementations of native/faster operations available. Tag 0 is reserved for the default (i. e. non-native) implementation.
Definition at line 350 of file FPHelpers.h.