Template Class FloatingPoint

Nested Relationships

Nested Types

Class Documentation

template<typename RawType>
class FloatingPoint

Public Types

typedef TypeWithSize<sizeof(RawType)>::UInt Bits

Public Functions

inline explicit FloatingPoint(const RawType &x)
inline const Bits &bits() const
inline Bits exponent_bits() const
inline Bits fraction_bits() const
inline Bits sign_bit() const
inline bool is_nan() const
inline bool AlmostEquals(const FloatingPoint &rhs) const
inline float Max()
inline double Max()

Public Static Functions

static inline RawType ReinterpretBits(const Bits bits)
static inline RawType Infinity()
static RawType Max()

Public Static Attributes

static const size_t kBitCount = 8 * sizeof(RawType)
static const size_t kFractionBitCount = std::numeric_limits<RawType>::digits - 1
static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount
static const Bits kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1)
static const Bits kFractionBitMask = ~static_cast<Bits>(0) >> (kExponentBitCount + 1)
static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask)
static const size_t kMaxUlps = 4