v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Double Class Reference

#include <double.h>

Public Member Functions

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

Static Public Member Functions

static int SignificandSizeForOrderOfMagnitude (int order)
 

Static Public Attributes

static const uint64_t kSignMask = V8_2PART_UINT64_C(0x80000000, 00000000)
 
static const uint64_t kExponentMask = V8_2PART_UINT64_C(0x7FF00000, 00000000)
 
static const uint64_t kSignificandMask
 
static const uint64_t kHiddenBit = V8_2PART_UINT64_C(0x00100000, 00000000)
 
static const int kPhysicalSignificandSize = 52
 
static const int kSignificandSize = 53
 

Detailed Description

Definition at line 41 of file double.h.

Constructor & Destructor Documentation

Double ( )
inline

Definition at line 51 of file double.h.

Referenced by Double::NextDouble().

Double ( double  d)
inlineexplicit

Definition at line 52 of file double.h.

Double ( uint64_t  d64)
inlineexplicit

Definition at line 53 of file double.h.

Double ( DiyFp  diy_fp)
inlineexplicit

Definition at line 54 of file double.h.

Member Function Documentation

DiyFp AsDiyFp ( ) const
inline
DiyFp AsNormalizedDiyFp ( ) const
inline
uint64_t AsUint64 ( ) const
inline
bool IsDenormal ( ) const
inline

Definition at line 121 of file double.h.

References Double::AsUint64(), and Double::kExponentMask.

Referenced by Double::Exponent(), and Double::Significand().

bool IsInfinite ( ) const
inline

Definition at line 133 of file double.h.

References Double::AsUint64(), Double::kExponentMask, and Double::kSignificandMask.

bool IsSpecial ( ) const
inline

Definition at line 128 of file double.h.

References Double::AsUint64(), and Double::kExponentMask.

Referenced by Double::AsDiyFp().

double NextDouble ( ) const
inline

Definition at line 88 of file double.h.

References Double::Double(), Double::Sign(), and Double::Significand().

Referenced by TEST().

void NormalizedBoundaries ( DiyFp out_m_minus,
DiyFp out_m_plus 
) const
inline
int Sign ( ) const
inline
static int SignificandSizeForOrderOfMagnitude ( int  order)
inlinestatic

Definition at line 186 of file double.h.

References Double::kSignificandSize.

DiyFp UpperBoundary ( ) const
inline

Definition at line 146 of file double.h.

References ASSERT, Double::Exponent(), Double::Sign(), and Double::Significand().

double value ( ) const
inline

Field Documentation

const uint64_t kExponentMask = V8_2PART_UINT64_C(0x7FF00000, 00000000)
static
const uint64_t kHiddenBit = V8_2PART_UINT64_C(0x00100000, 00000000)
static
const int kPhysicalSignificandSize = 52
static

Definition at line 48 of file double.h.

Referenced by Double::Exponent().

const uint64_t kSignificandMask
static
Initial value:
=
V8_2PART_UINT64_C(0x000FFFFF, FFFFFFFF)

Definition at line 45 of file double.h.

Referenced by Double::IsInfinite(), and Double::Significand().

const int kSignificandSize = 53
static
const uint64_t kSignMask = V8_2PART_UINT64_C(0x80000000, 00000000)
static

Definition at line 43 of file double.h.

Referenced by Double::Sign(), and v8::internal::SignedZero().


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