v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::base::Double Class Reference

#include <double.h>

Collaboration diagram for v8::base::Double:

Public Member Functions

constexpr Double ()
 
constexpr Double (double d)
 
constexpr Double (uint64_t d64)
 
constexpr Double (DiyFp diy_fp)
 
DiyFp AsDiyFp () const
 
DiyFp AsNormalizedDiyFp () const
 
constexpr uint64_t AsUint64 () const
 
constexpr double NextDouble () const
 
constexpr int Exponent () const
 
constexpr uint64_t Significand () const
 
constexpr bool IsDenormal () const
 
constexpr bool IsSpecial () const
 
constexpr bool IsInfinite () const
 
constexpr int Sign () const
 
DiyFp UpperBoundary () const
 
void NormalizedBoundaries (DiyFp *out_m_minus, DiyFp *out_m_plus) const
 
constexpr double value () const
 

Static Public Member Functions

static int SignificandSizeForOrderOfMagnitude (int order)
 

Static Public Attributes

static constexpr uint64_t kSignMask = 0x8000'0000'0000'0000
 
static constexpr uint64_t kExponentMask = 0x7FF0'0000'0000'0000
 
static constexpr uint64_t kSignificandMask = 0x000F'FFFF'FFFF'FFFF
 
static constexpr uint64_t kHiddenBit = 0x0010'0000'0000'0000
 
static constexpr int kPhysicalSignificandSize
 
static constexpr int kSignificandSize = 53
 

Static Private Member Functions

static constexpr uint64_t DiyFpToUint64 (DiyFp diy_fp)
 

Private Attributes

uint64_t d64_
 

Static Private Attributes

static constexpr int kExponentBias = 0x3FF + kPhysicalSignificandSize
 
static constexpr int kDenormalExponent = -kExponentBias + 1
 
static constexpr int kMaxExponent = 0x7FF - kExponentBias
 
static constexpr uint64_t kInfinity = 0x7FF0'0000'0000'0000
 

Detailed Description

Definition at line 25 of file double.h.

Constructor & Destructor Documentation

◆ Double() [1/4]

v8::base::Double::Double ( )
inlineconstexpr

Definition at line 35 of file double.h.

Here is the caller graph for this function:

◆ Double() [2/4]

v8::base::Double::Double ( double d)
inlineexplicitconstexpr

Definition at line 36 of file double.h.

◆ Double() [3/4]

v8::base::Double::Double ( uint64_t d64)
inlineexplicitconstexpr

Definition at line 37 of file double.h.

◆ Double() [4/4]

v8::base::Double::Double ( DiyFp diy_fp)
inlineexplicitconstexpr

Definition at line 38 of file double.h.

Member Function Documentation

◆ AsDiyFp()

DiyFp v8::base::Double::AsDiyFp ( ) const
inline

Definition at line 42 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AsNormalizedDiyFp()

DiyFp v8::base::Double::AsNormalizedDiyFp ( ) const
inline

Definition at line 49 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AsUint64()

uint64_t v8::base::Double::AsUint64 ( ) const
inlineconstexpr

Definition at line 66 of file double.h.

Here is the caller graph for this function:

◆ DiyFpToUint64()

static constexpr uint64_t v8::base::Double::DiyFpToUint64 ( DiyFp diy_fp)
inlinestaticconstexprprivate

Definition at line 184 of file double.h.

Here is the call graph for this function:

◆ Exponent()

int v8::base::Double::Exponent ( ) const
inlineconstexpr

Definition at line 82 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsDenormal()

bool v8::base::Double::IsDenormal ( ) const
inlineconstexpr

Definition at line 102 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsInfinite()

bool v8::base::Double::IsInfinite ( ) const
inlineconstexpr

Definition at line 114 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsSpecial()

bool v8::base::Double::IsSpecial ( ) const
inlineconstexpr

Definition at line 109 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextDouble()

double v8::base::Double::NextDouble ( ) const
inlineconstexpr

Definition at line 69 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NormalizedBoundaries()

void v8::base::Double::NormalizedBoundaries ( DiyFp * out_m_minus,
DiyFp * out_m_plus ) const
inline

Definition at line 136 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Sign()

int v8::base::Double::Sign ( ) const
inlineconstexpr

Definition at line 120 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Significand()

uint64_t v8::base::Double::Significand ( ) const
inlineconstexpr

Definition at line 91 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SignificandSizeForOrderOfMagnitude()

static int v8::base::Double::SignificandSizeForOrderOfMagnitude ( int order)
inlinestatic

Definition at line 166 of file double.h.

Here is the caller graph for this function:

◆ UpperBoundary()

DiyFp v8::base::Double::UpperBoundary ( ) const
inline

Definition at line 127 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ value()

double v8::base::Double::value ( ) const
inlineconstexpr

Definition at line 158 of file double.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ d64_

uint64_t v8::base::Double::d64_
private

Definition at line 182 of file double.h.

◆ kDenormalExponent

int v8::base::Double::kDenormalExponent = -kExponentBias + 1
staticconstexprprivate

Definition at line 176 of file double.h.

◆ kExponentBias

int v8::base::Double::kExponentBias = 0x3FF + kPhysicalSignificandSize
staticconstexprprivate

Definition at line 175 of file double.h.

◆ kExponentMask

uint64_t v8::base::Double::kExponentMask = 0x7FF0'0000'0000'0000
staticconstexpr

Definition at line 28 of file double.h.

◆ kHiddenBit

uint64_t v8::base::Double::kHiddenBit = 0x0010'0000'0000'0000
staticconstexpr

Definition at line 30 of file double.h.

◆ kInfinity

uint64_t v8::base::Double::kInfinity = 0x7FF0'0000'0000'0000
staticconstexprprivate

Definition at line 178 of file double.h.

◆ kMaxExponent

int v8::base::Double::kMaxExponent = 0x7FF - kExponentBias
staticconstexprprivate

Definition at line 177 of file double.h.

◆ kPhysicalSignificandSize

int v8::base::Double::kPhysicalSignificandSize
staticconstexpr
Initial value:
=
52

Definition at line 31 of file double.h.

◆ kSignificandMask

uint64_t v8::base::Double::kSignificandMask = 0x000F'FFFF'FFFF'FFFF
staticconstexpr

Definition at line 29 of file double.h.

◆ kSignificandSize

int v8::base::Double::kSignificandSize = 53
staticconstexpr

Definition at line 33 of file double.h.

◆ kSignMask

uint64_t v8::base::Double::kSignMask = 0x8000'0000'0000'0000
staticconstexpr

Definition at line 27 of file double.h.


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