StdAir Logo  0.45.0
C++ Standard Airline IT Object Library
FloatingPoint Class Reference

#include <stdair/basic/float_utils_google.hpp>

List of all members.

Classes

union  FloatingPointUnion

Public Types

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

Public Member Functions

 FloatingPoint (const RawType &x)
const Bitsbits () 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

Member Typedef Documentation

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

Definition at line 121 of file float_utils_google.hpp.


Constructor & Destructor Documentation

FloatingPoint::FloatingPoint ( const RawType &  x) [inline, explicit]

Definition at line 165 of file float_utils_google.hpp.

References FloatingPoint::FloatingPointUnion::value_.


Member Function Documentation

static RawType FloatingPoint::ReinterpretBits ( const Bits  bits) [inline, static]
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]
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]

Member Data Documentation

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]
Initial value:
    std::numeric_limits<RawType>::digits - 1

Definition at line 129 of file float_utils_google.hpp.

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().

Initial value:
    ~static_cast<Bits>(0) >> (kExponentBitCount + 1)

Definition at line 139 of file float_utils_google.hpp.

Referenced by fraction_bits().

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().


The documentation for this class was generated from the following file: