#include <stdair/basic/float_utils_google.hpp>
Classes | |
union | FloatingPointUnion |
Public Types | |
typedef TypeWithSize< sizeof(RawType)> ::UInt | Bits |
Public Member Functions | |
FloatingPoint (const RawType &x) | |
const Bits & | bits () const |
Bits | exponent_bits () const |
Bits | fraction_bits () const |
Bits | sign_bit () const |
bool | is_nan () const |
bool | AlmostEquals (const FloatingPoint &rhs) const |
Static Public Member Functions | |
static RawType | ReinterpretBits (const Bits bits) |
static RawType | Infinity () |
Static Public Attributes | |
static const size_t | kBitCount = 8*sizeof(RawType) |
static const size_t | kFractionBitCount |
static const size_t | kExponentBitCount = kBitCount - 1 - kFractionBitCount |
static const Bits | kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1) |
static const Bits | kFractionBitMask |
static const Bits | kExponentBitMask = ~(kSignBitMask | kFractionBitMask) |
static const size_t | kMaxUlps = 4 |
typedef TypeWithSize<sizeof(RawType)>::UInt FloatingPoint::Bits |
Definition at line 121 of file float_utils_google.hpp.
FloatingPoint::FloatingPoint | ( | const RawType & | x | ) | [inline, explicit] |
Definition at line 165 of file float_utils_google.hpp.
References FloatingPoint::FloatingPointUnion::value_.
static RawType FloatingPoint::ReinterpretBits | ( | const Bits | bits | ) | [inline, static] |
Definition at line 172 of file float_utils_google.hpp.
References FloatingPoint::FloatingPointUnion::bits_, bits(), and FloatingPoint::FloatingPointUnion::value_.
Referenced by Infinity().
static RawType FloatingPoint::Infinity | ( | ) | [inline, static] |
Definition at line 179 of file float_utils_google.hpp.
References ReinterpretBits(), and kExponentBitMask.
const Bits& FloatingPoint::bits | ( | ) | const [inline] |
Definition at line 186 of file float_utils_google.hpp.
References FloatingPoint::FloatingPointUnion::bits_.
Referenced by ReinterpretBits().
Bits FloatingPoint::exponent_bits | ( | ) | const [inline] |
Definition at line 189 of file float_utils_google.hpp.
References kExponentBitMask, and FloatingPoint::FloatingPointUnion::bits_.
Referenced by is_nan().
Bits FloatingPoint::fraction_bits | ( | ) | const [inline] |
Definition at line 192 of file float_utils_google.hpp.
References kFractionBitMask, and FloatingPoint::FloatingPointUnion::bits_.
Referenced by is_nan().
Bits FloatingPoint::sign_bit | ( | ) | const [inline] |
Definition at line 195 of file float_utils_google.hpp.
References kSignBitMask, and FloatingPoint::FloatingPointUnion::bits_.
bool FloatingPoint::is_nan | ( | ) | const [inline] |
Definition at line 198 of file float_utils_google.hpp.
References exponent_bits(), kExponentBitMask, and fraction_bits().
Referenced by AlmostEquals().
bool FloatingPoint::AlmostEquals | ( | const FloatingPoint & | rhs | ) | const [inline] |
Definition at line 210 of file float_utils_google.hpp.
References is_nan(), FloatingPoint::FloatingPointUnion::bits_, and kMaxUlps.
const size_t FloatingPoint::kBitCount = 8*sizeof(RawType) [static] |
Definition at line 126 of file float_utils_google.hpp.
const size_t FloatingPoint::kFractionBitCount [static] |
std::numeric_limits<RawType>::digits - 1
Definition at line 129 of file float_utils_google.hpp.
const size_t FloatingPoint::kExponentBitCount = kBitCount - 1 - kFractionBitCount [static] |
Definition at line 133 of file float_utils_google.hpp.
const Bits FloatingPoint::kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1) [static] |
Definition at line 136 of file float_utils_google.hpp.
Referenced by sign_bit().
const Bits FloatingPoint::kFractionBitMask [static] |
~static_cast<Bits>(0) >> (kExponentBitCount + 1)
Definition at line 139 of file float_utils_google.hpp.
Referenced by fraction_bits().
const Bits FloatingPoint::kExponentBitMask = ~(kSignBitMask | kFractionBitMask) [static] |
Definition at line 143 of file float_utils_google.hpp.
Referenced by Infinity(), exponent_bits(), and is_nan().
const size_t FloatingPoint::kMaxUlps = 4 [static] |
Definition at line 157 of file float_utils_google.hpp.
Referenced by AlmostEquals().