OpenLexocad  27.1
DiyFp Struct Reference

#include <dtoa.h>

Public Member Functions

 DiyFp ()
 
 DiyFp (uint64_t f, int e)
 
 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
 

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 kDpMinExponent = -kDpExponentBias
 
static const uint64_t kDpExponentMask = UINT64_C2(0x7FF00000, 0x00000000)
 
static const uint64_t kDpSignificandMask = UINT64_C2(0x000FFFFF, 0xFFFFFFFF)
 
static const uint64_t kDpHiddenBit = UINT64_C2(0x00100000, 0x00000000)
 

Constructor & Destructor Documentation

◆ DiyFp() [1/3]

DiyFp::DiyFp ( )
inline

◆ DiyFp() [2/3]

DiyFp::DiyFp ( uint64_t  f,
int  e 
)
inline

◆ DiyFp() [3/3]

DiyFp::DiyFp ( double  d)
inline

Member Function Documentation

◆ Normalize()

DiyFp DiyFp::Normalize ( void  ) const
inline

◆ NormalizeBoundary()

DiyFp DiyFp::NormalizeBoundary ( ) const
inline

◆ NormalizedBoundaries()

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

◆ operator *()

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

mult_round

◆ operator-()

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

Member Data Documentation

◆ e

int DiyFp::e

◆ f

uint64_t DiyFp::f

◆ kDiySignificandSize

const int DiyFp::kDiySignificandSize = 64
static

◆ kDpExponentBias

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

◆ kDpExponentMask

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

◆ kDpHiddenBit

const uint64_t DiyFp::kDpHiddenBit = UINT64_C2(0x00100000, 0x00000000)
static

◆ kDpMinExponent

const int DiyFp::kDpMinExponent = -kDpExponentBias
static

◆ kDpSignificandMask

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

◆ kDpSignificandSize

const int DiyFp::kDpSignificandSize = 52
static

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