|
PPL
0.12.1
|
#include <Float.defs.hh>
Public Member Functions | |
| int | inf_sign () const |
| bool | is_nan () const |
| int | zero_sign () const |
| bool | sign_bit () const |
| void | negate () |
| void | dec () |
| void | inc () |
| void | set_max (bool negative) |
| void | build (bool negative, mpz_t mantissa, int exponent) |
Public Attributes | |
| uint16_t | word |
Static Public Attributes | |
| static const uint16_t | SGN_MASK = 0x8000U |
| static const uint16_t | EXP_MASK = 0xfc00U |
| static const uint16_t | POS_INF = 0xfc00U |
| static const uint16_t | NEG_INF = 0x7c00U |
| static const uint16_t | POS_ZERO = 0x0000U |
| static const uint16_t | NEG_ZERO = 0x8000U |
| static const unsigned int | BASE = 2 |
| static const unsigned int | EXPONENT_BITS = 5 |
| static const unsigned int | MANTISSA_BITS = 10 |
| static const int | EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1 |
| static const int | EXPONENT_BIAS = EXPONENT_MAX |
| static const int | EXPONENT_MIN = -EXPONENT_MAX + 1 |
| static const int | EXPONENT_MIN_DENORM |
| static const Floating_Point_Format | floating_point_format = IEEE754_HALF |
Definition at line 50 of file Float.defs.hh.
|
inline |
Definition at line 84 of file Float.inlines.hh.
References EXPONENT_BIAS, EXPONENT_BITS, MANTISSA_BITS, PPL_ASSERT, SGN_MASK, and word.
{
word = static_cast<uint16_t>(mpz_get_ui(mantissa)
& ((1UL << MANTISSA_BITS) - 1));
if (negative)
word |= SGN_MASK;
int exponent_repr = exponent + EXPONENT_BIAS;
PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
word |= static_cast<uint16_t>(exponent_repr) << MANTISSA_BITS;
}
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
Definition at line 58 of file Float.defs.hh.
Referenced by Parma_Polyhedra_Library::compute_absolute_error(), and Parma_Polyhedra_Library::Linear_Form< C >::relative_error().
|
static |
Definition at line 53 of file Float.defs.hh.
|
static |
Definition at line 62 of file Float.defs.hh.
Referenced by build(), and Parma_Polyhedra_Library::compute_absolute_error().
|
static |
Definition at line 59 of file Float.defs.hh.
Referenced by build().
|
static |
Definition at line 61 of file Float.defs.hh.
|
static |
Definition at line 63 of file Float.defs.hh.
|
static |
EXPONENT_MIN - static_cast<int>(MANTISSA_BITS)
Definition at line 64 of file Float.defs.hh.
|
static |
Definition at line 66 of file Float.defs.hh.
|
static |
Definition at line 60 of file Float.defs.hh.
Referenced by build(), Parma_Polyhedra_Library::compute_absolute_error(), and Parma_Polyhedra_Library::Linear_Form< C >::relative_error().
|
static |
Definition at line 55 of file Float.defs.hh.
Referenced by inf_sign().
|
static |
Definition at line 57 of file Float.defs.hh.
Referenced by zero_sign().
|
static |
Definition at line 54 of file Float.defs.hh.
Referenced by inf_sign(), and is_nan().
|
static |
Definition at line 56 of file Float.defs.hh.
Referenced by zero_sign().
|
static |
Definition at line 52 of file Float.defs.hh.
Referenced by build(), is_nan(), negate(), set_max(), and sign_bit().
Definition at line 51 of file Float.defs.hh.
Referenced by build(), dec(), inc(), inf_sign(), is_nan(), negate(), set_max(), sign_bit(), and zero_sign().