Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
internal::DiyFp Struct Reference
Collaboration diagram for internal::DiyFp:

Public Member Functions

 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)

Detailed Description

Definition at line 49 of file diyfp.h.

Constructor & Destructor Documentation

◆ DiyFp() [1/3]

internal::DiyFp::DiyFp ( )
inline

Definition at line 50 of file diyfp.h.

◆ DiyFp() [2/3]

internal::DiyFp::DiyFp ( uint64_t fp,
int exp )
inline

Definition at line 52 of file diyfp.h.

◆ DiyFp() [3/3]

internal::DiyFp::DiyFp ( double d)
inlineexplicit

Definition at line 54 of file diyfp.h.

Member Function Documentation

◆ Normalize()

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

Definition at line 107 of file diyfp.h.

◆ NormalizeBoundary()

DiyFp internal::DiyFp::NormalizeBoundary ( ) const
inline

Definition at line 112 of file diyfp.h.

◆ NormalizedBoundaries()

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

Definition at line 123 of file diyfp.h.

◆ operator*()

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

mult_round

Definition at line 76 of file diyfp.h.

◆ operator-()

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

Definition at line 72 of file diyfp.h.

◆ ToDouble()

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

Definition at line 132 of file diyfp.h.

Member Data Documentation

◆ e

int internal::DiyFp::e

Definition at line 163 of file diyfp.h.

◆ f

uint64_t internal::DiyFp::f

Definition at line 162 of file diyfp.h.

◆ kDiySignificandSize

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

Definition at line 152 of file diyfp.h.

◆ kDpDenormalExponent

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

Definition at line 157 of file diyfp.h.

◆ kDpExponentBias

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

Definition at line 154 of file diyfp.h.

◆ kDpExponentMask

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

Definition at line 158 of file diyfp.h.

◆ kDpHiddenBit

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

Definition at line 160 of file diyfp.h.

◆ kDpMaxExponent

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

Definition at line 155 of file diyfp.h.

◆ kDpMinExponent

const int internal::DiyFp::kDpMinExponent = -kDpExponentBias
static

Definition at line 156 of file diyfp.h.

◆ kDpSignificandMask

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

Definition at line 159 of file diyfp.h.

◆ kDpSignificandSize

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

Definition at line 153 of file diyfp.h.


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