double_conversion::Double Class Reference

#include <ieee.h>

List of all members.

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
double PreviousDouble () const
int Exponent () const
uint64_t Significand () const
bool IsDenormal () const
bool IsSpecial () const
bool IsNan () const
bool IsInfinite () const
int Sign () const
DiyFp UpperBoundary () const
void NormalizedBoundaries (DiyFp *out_m_minus, DiyFp *out_m_plus) const
bool LowerBoundaryIsCloser () const
double value () const

Static Public Member Functions

static int SignificandSizeForOrderOfMagnitude (int order)
static double Infinity ()
static double NaN ()

Static Public Attributes

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


Detailed Description

Definition at line 42 of file ieee.h.


Constructor & Destructor Documentation

double_conversion::Double::Double (  )  [inline]

Definition at line 51 of file ieee.h.

Referenced by Infinity(), NaN(), NextDouble(), and PreviousDouble().

Here is the caller graph for this function:

double_conversion::Double::Double ( double  d  )  [inline, explicit]

Definition at line 52 of file ieee.h.

double_conversion::Double::Double ( uint64_t  d64  )  [inline, explicit]

Definition at line 53 of file ieee.h.

double_conversion::Double::Double ( DiyFp  diy_fp  )  [inline, explicit]

Definition at line 54 of file ieee.h.


Member Function Documentation

DiyFp double_conversion::Double::AsDiyFp (  )  const [inline]

Definition at line 59 of file ieee.h.

References ASSERT, Exponent(), IsSpecial(), Sign(), and Significand().

Referenced by NormalizedBoundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

DiyFp double_conversion::Double::AsNormalizedDiyFp (  )  const [inline]

Definition at line 66 of file ieee.h.

References ASSERT, Exponent(), kHiddenBit, kSignificandSize, double_conversion::DiyFp::kSignificandSize, Significand(), and value().

Here is the call graph for this function:

uint64_t double_conversion::Double::AsUint64 (  )  const [inline]

Definition at line 83 of file ieee.h.

Referenced by Exponent(), IsDenormal(), IsInfinite(), IsNan(), IsSpecial(), LowerBoundaryIsCloser(), Sign(), and Significand().

Here is the caller graph for this function:

int double_conversion::Double::Exponent (  )  const [inline]

Definition at line 111 of file ieee.h.

References AsUint64(), IsDenormal(), kExponentMask, and kPhysicalSignificandSize.

Referenced by AsDiyFp(), AsNormalizedDiyFp(), LowerBoundaryIsCloser(), and UpperBoundary().

Here is the call graph for this function:

Here is the caller graph for this function:

static double double_conversion::Double::Infinity (  )  [inline, static]

Definition at line 216 of file ieee.h.

References Double().

Referenced by PreviousDouble().

Here is the call graph for this function:

Here is the caller graph for this function:

bool double_conversion::Double::IsDenormal (  )  const [inline]

Definition at line 131 of file ieee.h.

References AsUint64(), and kExponentMask.

Referenced by Exponent(), and Significand().

Here is the call graph for this function:

Here is the caller graph for this function:

bool double_conversion::Double::IsInfinite (  )  const [inline]

Definition at line 149 of file ieee.h.

References AsUint64(), kExponentMask, and kSignificandMask.

Here is the call graph for this function:

bool double_conversion::Double::IsNan (  )  const [inline]

Definition at line 143 of file ieee.h.

References AsUint64(), kExponentMask, and kSignificandMask.

Here is the call graph for this function:

bool double_conversion::Double::IsSpecial (  )  const [inline]

Definition at line 138 of file ieee.h.

References AsUint64(), and kExponentMask.

Referenced by AsDiyFp().

Here is the call graph for this function:

Here is the caller graph for this function:

bool double_conversion::Double::LowerBoundaryIsCloser (  )  const [inline]

Definition at line 187 of file ieee.h.

References AsUint64(), Exponent(), and kSignificandMask.

Referenced by NormalizedBoundaries().

Here is the call graph for this function:

Here is the caller graph for this function:

static double double_conversion::Double::NaN (  )  [inline, static]

Definition at line 220 of file ieee.h.

References Double().

Here is the call graph for this function:

double double_conversion::Double::NextDouble (  )  const [inline]

Definition at line 88 of file ieee.h.

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

Here is the call graph for this function:

void double_conversion::Double::NormalizedBoundaries ( DiyFp out_m_minus,
DiyFp out_m_plus 
) const [inline]

double double_conversion::Double::PreviousDouble (  )  const [inline]

Definition at line 101 of file ieee.h.

References Double(), Infinity(), kSignMask, Sign(), and Significand().

Here is the call graph for this function:

int double_conversion::Double::Sign (  )  const [inline]

Definition at line 155 of file ieee.h.

References AsUint64(), and kSignMask.

Referenced by AsDiyFp(), NextDouble(), PreviousDouble(), and UpperBoundary().

Here is the call graph for this function:

Here is the caller graph for this function:

uint64_t double_conversion::Double::Significand (  )  const [inline]

Definition at line 120 of file ieee.h.

References AsUint64(), IsDenormal(), kHiddenBit, and kSignificandMask.

Referenced by AsDiyFp(), AsNormalizedDiyFp(), NextDouble(), PreviousDouble(), and UpperBoundary().

Here is the call graph for this function:

Here is the caller graph for this function:

static int double_conversion::Double::SignificandSizeForOrderOfMagnitude ( int  order  )  [inline, static]

Definition at line 208 of file ieee.h.

References kSignificandSize.

DiyFp double_conversion::Double::UpperBoundary (  )  const [inline]

Definition at line 162 of file ieee.h.

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

Here is the call graph for this function:

double double_conversion::Double::value (  )  const [inline]

Definition at line 200 of file ieee.h.

Referenced by AsNormalizedDiyFp(), and NormalizedBoundaries().

Here is the caller graph for this function:


Member Data Documentation

const uint64_t double_conversion::Double::kExponentMask = UINT64_2PART_C(0x7FF00000, 00000000) [static]

Definition at line 45 of file ieee.h.

Referenced by Exponent(), IsDenormal(), IsInfinite(), IsNan(), and IsSpecial().

const uint64_t double_conversion::Double::kHiddenBit = UINT64_2PART_C(0x00100000, 00000000) [static]

Definition at line 47 of file ieee.h.

Referenced by AsNormalizedDiyFp(), and Significand().

Definition at line 48 of file ieee.h.

Referenced by Exponent().

const uint64_t double_conversion::Double::kSignificandMask = UINT64_2PART_C(0x000FFFFF, FFFFFFFF) [static]

Definition at line 46 of file ieee.h.

Referenced by IsInfinite(), IsNan(), LowerBoundaryIsCloser(), and Significand().

Definition at line 49 of file ieee.h.

Referenced by AsNormalizedDiyFp(), and SignificandSizeForOrderOfMagnitude().

const uint64_t double_conversion::Double::kSignMask = UINT64_2PART_C(0x80000000, 00000000) [static]

Definition at line 44 of file ieee.h.

Referenced by PreviousDouble(), and Sign().


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

Generated on Thu Jul 6 00:32:38 2017 for Moses by  doxygen 1.5.9