VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
internal::DiyFp Struct Reference

Public Member Functions

 DiyFp ()
 DiyFp (uint64_t fp, int exp)
 DiyFp (double d)
DiyFp operator- (const DiyFp &rhs) const
DiyFp operator* (const DiyFp &rhs) const
DiyFp Normalize () const
DiyFp NormalizeBoundary () const
void NormalizedBoundaries (DiyFp *minus, DiyFp *plus) const
double ToDouble () const

Public Attributes

uint64_t f
int e

Static Public Attributes

static const int kDiySignificandSize = 64
static const int kDpSignificandSize = 52
static const int kDpExponentBias = 0x3FF + kDpSignificandSize
static const int kDpMaxExponent = 0x7FF - kDpExponentBias
static const int kDpMinExponent = -kDpExponentBias
static const int kDpDenormalExponent = -kDpExponentBias + 1
static const uint64_t kDpExponentMask = RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000)
static const uint64_t kDpSignificandMask = RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF)
static const uint64_t kDpHiddenBit = RAPIDJSON_UINT64_C2(0x00100000, 0x00000000)

Constructor & Destructor Documentation

internal::DiyFp::DiyFp ( )
inline
internal::DiyFp::DiyFp ( uint64_t  fp,
int  exp 
)
inline
internal::DiyFp::DiyFp ( double  d)
inlineexplicit

Member Function Documentation

DiyFp internal::DiyFp::operator- ( const DiyFp rhs) const
inline

References DiyFp(), e, and f.

DiyFp internal::DiyFp::operator* ( const DiyFp rhs) const
inline

References DiyFp(), e, and f.

DiyFp internal::DiyFp::Normalize ( ) const
inline

References DiyFp(), e, and f.

Referenced by internal::Grisu2(), and internal::StrtodDiyFp().

DiyFp internal::DiyFp::NormalizeBoundary ( ) const
inline
void internal::DiyFp::NormalizedBoundaries ( DiyFp minus,
DiyFp plus 
) const
inline

References DiyFp(), e, f, and kDpHiddenBit.

Referenced by internal::Grisu2().

double internal::DiyFp::ToDouble ( ) const
inline

Member Data Documentation

const int internal::DiyFp::kDiySignificandSize = 64
static

Referenced by NormalizeBoundary().

const int internal::DiyFp::kDpSignificandSize = 52
static

Referenced by DiyFp(), NormalizeBoundary(), and ToDouble().

const int internal::DiyFp::kDpExponentBias = 0x3FF + kDpSignificandSize
static

Referenced by DiyFp(), and ToDouble().

const int internal::DiyFp::kDpMaxExponent = 0x7FF - kDpExponentBias
static
const int internal::DiyFp::kDpMinExponent = -kDpExponentBias
static

Referenced by DiyFp().

const int internal::DiyFp::kDpDenormalExponent = -kDpExponentBias + 1
static

Referenced by ToDouble().

const uint64_t internal::DiyFp::kDpExponentMask = RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000)
static

Referenced by DiyFp().

const uint64_t internal::DiyFp::kDpSignificandMask = RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF)
static

Referenced by DiyFp(), and ToDouble().

const uint64_t internal::DiyFp::kDpHiddenBit = RAPIDJSON_UINT64_C2(0x00100000, 0x00000000)
static
uint64_t internal::DiyFp::f
int internal::DiyFp::e

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


Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)