Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Private Member Functions | Private Attributes | List of all members
FloatingPoint< RawType > Class Template Reference

#include <FloatingPointComparision.hpp>

Classes

union  FloatingPointUnion
 

Public Types

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

Public Member Functions

bool AlmostEquals (const FloatingPoint &rhs) const
 
const Bitsbits () const
 
Bits exponent_bits () const
 
 FloatingPoint (const RawType &x)
 
Bits fraction_bits () const
 
bool is_nan () const
 
Bits sign_bit () const
 

Static Public Member Functions

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

Static Public Attributes

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

Static Private Member Functions

static Bits DistanceBetweenSignAndMagnitudeNumbers (const Bits &sam1, const Bits &sam2)
 
static Bits SignAndMagnitudeToBiased (const Bits &sam)
 

Private Attributes

FloatingPointUnion u_
 

Detailed Description

template<typename RawType>
class FloatingPoint< RawType >

Definition at line 105 of file FloatingPointComparision.hpp.

Member Typedef Documentation

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

Definition at line 109 of file FloatingPointComparision.hpp.

Constructor & Destructor Documentation

template<typename RawType >
FloatingPoint< RawType >::FloatingPoint ( const RawType &  x)
inlineexplicit

Definition at line 153 of file FloatingPointComparision.hpp.

Member Function Documentation

template<typename RawType >
bool FloatingPoint< RawType >::AlmostEquals ( const FloatingPoint< RawType > &  rhs) const
inline

Definition at line 201 of file FloatingPointComparision.hpp.

template<typename RawType >
const Bits& FloatingPoint< RawType >::bits ( ) const
inline

Definition at line 177 of file FloatingPointComparision.hpp.

template<typename RawType >
static Bits FloatingPoint< RawType >::DistanceBetweenSignAndMagnitudeNumbers ( const Bits sam1,
const Bits sam2 
)
inlinestaticprivate

Definition at line 244 of file FloatingPointComparision.hpp.

template<typename RawType >
Bits FloatingPoint< RawType >::exponent_bits ( ) const
inline

Definition at line 180 of file FloatingPointComparision.hpp.

template<typename RawType >
Bits FloatingPoint< RawType >::fraction_bits ( ) const
inline

Definition at line 183 of file FloatingPointComparision.hpp.

template<typename RawType >
static RawType FloatingPoint< RawType >::Infinity ( )
inlinestatic

Definition at line 167 of file FloatingPointComparision.hpp.

template<typename RawType >
bool FloatingPoint< RawType >::is_nan ( ) const
inline

Definition at line 189 of file FloatingPointComparision.hpp.

template<typename RawType >
static RawType FloatingPoint< RawType >::Max ( )
static
template<typename RawType >
static RawType FloatingPoint< RawType >::ReinterpretBits ( const Bits  bits)
inlinestatic

Definition at line 160 of file FloatingPointComparision.hpp.

template<typename RawType >
Bits FloatingPoint< RawType >::sign_bit ( ) const
inline

Definition at line 186 of file FloatingPointComparision.hpp.

template<typename RawType >
static Bits FloatingPoint< RawType >::SignAndMagnitudeToBiased ( const Bits sam)
inlinestaticprivate

Definition at line 232 of file FloatingPointComparision.hpp.

Member Data Documentation

template<typename RawType >
const size_t FloatingPoint< RawType >::kBitCount = 8*sizeof(RawType)
static

Definition at line 114 of file FloatingPointComparision.hpp.

template<typename RawType >
const size_t FloatingPoint< RawType >::kExponentBitCount = kBitCount - 1 - kFractionBitCount
static

Definition at line 121 of file FloatingPointComparision.hpp.

template<typename RawType >
const Bits FloatingPoint< RawType >::kExponentBitMask = ~(kSignBitMask | kFractionBitMask)
static

Definition at line 131 of file FloatingPointComparision.hpp.

template<typename RawType >
const size_t FloatingPoint< RawType >::kFractionBitCount
static
Initial value:
=
std::numeric_limits<RawType>::digits - 1

Definition at line 117 of file FloatingPointComparision.hpp.

template<typename RawType >
const Bits FloatingPoint< RawType >::kFractionBitMask
static
Initial value:
=
~static_cast<Bits>(0) >> (kExponentBitCount + 1)

Definition at line 127 of file FloatingPointComparision.hpp.

template<typename RawType >
const size_t FloatingPoint< RawType >::kMaxUlps = 4
static

Definition at line 145 of file FloatingPointComparision.hpp.

template<typename RawType >
const Bits FloatingPoint< RawType >::kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1)
static

Definition at line 124 of file FloatingPointComparision.hpp.

template<typename RawType >
FloatingPointUnion FloatingPoint< RawType >::u_
private

Definition at line 251 of file FloatingPointComparision.hpp.


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


asr_approx_mvbb
Author(s): Gassner Nikolai
autogenerated on Mon Jun 10 2019 12:38:09