#include <Float.defs.hh>
Public Member Functions | |
int | is_inf () const |
int | is_nan () const |
int | is_zero () const |
int | 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 | |
uint32_t | word |
Static Public Attributes | |
static const uint32_t | SGN_MASK = 0x80000000 |
static const uint32_t | EXP_MASK = 0x7f800000 |
static const uint32_t | POS_INF = 0x7f800000 |
static const uint32_t | NEG_INF = 0xff800000 |
static const uint32_t | POS_ZERO = 0x00000000 |
static const uint32_t | NEG_ZERO = 0x80000000 |
static const unsigned int | EXPONENT_BITS = 8 |
static const unsigned int | MANTISSA_BITS = 23 |
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 |
Definition at line 47 of file Float.defs.hh.
int Parma_Polyhedra_Library::float_ieee754_single::is_inf | ( | ) | const [inline] |
int Parma_Polyhedra_Library::float_ieee754_single::is_nan | ( | ) | const [inline] |
int Parma_Polyhedra_Library::float_ieee754_single::is_zero | ( | ) | const [inline] |
int Parma_Polyhedra_Library::float_ieee754_single::sign_bit | ( | ) | const [inline] |
void Parma_Polyhedra_Library::float_ieee754_single::negate | ( | ) | [inline] |
void Parma_Polyhedra_Library::float_ieee754_single::dec | ( | ) | [inline] |
void Parma_Polyhedra_Library::float_ieee754_single::inc | ( | ) | [inline] |
void Parma_Polyhedra_Library::float_ieee754_single::set_max | ( | bool | negative | ) | [inline] |
void Parma_Polyhedra_Library::float_ieee754_single::build | ( | bool | negative, | |
mpz_t | mantissa, | |||
int | exponent | |||
) | [inline] |
Definition at line 87 of file Float.inlines.hh.
References EXPONENT_BIAS, MANTISSA_BITS, SGN_MASK, and word.
00087 { 00088 word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1); 00089 if (negative) 00090 word |= SGN_MASK; 00091 word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS; 00092 }
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::SGN_MASK = 0x80000000 [static] |
Definition at line 49 of file Float.defs.hh.
Referenced by build(), is_nan(), negate(), set_max(), and sign_bit().
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::EXP_MASK = 0x7f800000 [static] |
Definition at line 50 of file Float.defs.hh.
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::POS_INF = 0x7f800000 [static] |
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::NEG_INF = 0xff800000 [static] |
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::POS_ZERO = 0x00000000 [static] |
const uint32_t Parma_Polyhedra_Library::float_ieee754_single::NEG_ZERO = 0x80000000 [static] |
const unsigned int Parma_Polyhedra_Library::float_ieee754_single::EXPONENT_BITS = 8 [static] |
Definition at line 55 of file Float.defs.hh.
const unsigned int Parma_Polyhedra_Library::float_ieee754_single::MANTISSA_BITS = 23 [static] |
const int Parma_Polyhedra_Library::float_ieee754_single::EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1 [static] |
Definition at line 57 of file Float.defs.hh.
const int Parma_Polyhedra_Library::float_ieee754_single::EXPONENT_BIAS = EXPONENT_MAX [static] |
const int Parma_Polyhedra_Library::float_ieee754_single::EXPONENT_MIN = -EXPONENT_MAX + 1 [static] |
Definition at line 59 of file Float.defs.hh.
const int Parma_Polyhedra_Library::float_ieee754_single::EXPONENT_MIN_DENORM [static] |
Initial value:
EXPONENT_MIN - static_cast<int>(MANTISSA_BITS)
Definition at line 60 of file Float.defs.hh.