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

#include <gtest.h>

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
 
float Max ()
 
double Max ()
 

Static Public Member Functions

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

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
 

Static Private Member Functions

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

Private Attributes

FloatingPointUnion u_
 

Detailed Description

template<typename RawType>
class testing::internal::FloatingPoint< RawType >

Definition at line 7192 of file gtest.h.

Member Typedef Documentation

◆ Bits

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

Definition at line 7196 of file gtest.h.

Constructor & Destructor Documentation

◆ FloatingPoint()

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

Definition at line 7240 of file gtest.h.

References x.

Member Function Documentation

◆ AlmostEquals()

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

◆ bits()

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

Definition at line 7264 of file gtest.h.

◆ DistanceBetweenSignAndMagnitudeNumbers()

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

Definition at line 7331 of file gtest.h.

◆ exponent_bits()

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

Definition at line 7267 of file gtest.h.

◆ fraction_bits()

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

Definition at line 7270 of file gtest.h.

◆ Infinity()

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

Definition at line 7254 of file gtest.h.

◆ is_nan()

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

Definition at line 7276 of file gtest.h.

Referenced by testing::internal::FloatingPoint< RawType >::AlmostEquals().

◆ Max() [1/3]

template<typename RawType >
static RawType testing::internal::FloatingPoint< RawType >::Max ( )
static

◆ Max() [2/3]

float testing::internal::FloatingPoint< float >::Max ( )
inline

Definition at line 7344 of file gtest.h.

◆ Max() [3/3]

double testing::internal::FloatingPoint< double >::Max ( )
inline

Definition at line 7346 of file gtest.h.

◆ ReinterpretBits()

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

◆ sign_bit()

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

Definition at line 7273 of file gtest.h.

◆ SignAndMagnitudeToBiased()

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

Definition at line 7319 of file gtest.h.

Member Data Documentation

◆ kBitCount

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

Definition at line 7201 of file gtest.h.

◆ kExponentBitCount

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

Definition at line 7208 of file gtest.h.

◆ kExponentBitMask

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

Definition at line 7218 of file gtest.h.

◆ kFractionBitCount

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

Definition at line 7204 of file gtest.h.

◆ kFractionBitMask

template<typename RawType >
const Bits testing::internal::FloatingPoint< RawType >::kFractionBitMask
static
Initial value:
=
~static_cast<Bits>(0) >> (kExponentBitCount + 1)
static const size_t kExponentBitCount
Definition: gtest.h:7208

Definition at line 7214 of file gtest.h.

◆ kMaxUlps

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

Definition at line 7232 of file gtest.h.

◆ kSignBitMask

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

Definition at line 7211 of file gtest.h.

◆ u_

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

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