webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Namespaces | Macros | Functions
dtoa.cpp File Reference
#include "config.h"
#include "dtoa.h"
#include <stdio.h>
#include <wtf/Lock.h>
#include <wtf/MathExtras.h>
#include <wtf/Threading.h>
#include <wtf/Vector.h>

Classes

union  WTF::U
 
struct  WTF::BigInt
 
struct  WTF::P5Node
 

Namespaces

 WTF
 
 WTF::Internal
 

Macros

#define word0(x)   (x)->L[1]
 
#define word1(x)   (x)->L[0]
 
#define dval(x)   (x)->d
 
#define Exp_shift   20
 
#define Exp_shift1   20
 
#define Exp_msk1   0x100000
 
#define Exp_msk11   0x100000
 
#define Exp_mask   0x7ff00000
 
#define P   53
 
#define Bias   1023
 
#define Emin   (-1022)
 
#define Exp_1   0x3ff00000
 
#define Exp_11   0x3ff00000
 
#define Ebits   11
 
#define Frac_mask   0xfffff
 
#define Frac_mask1   0xfffff
 
#define Ten_pmax   22
 
#define Bletch   0x10
 
#define Bndry_mask   0xfffff
 
#define Bndry_mask1   0xfffff
 
#define LSB   1
 
#define Sign_bit   0x80000000
 
#define Log2P   1
 
#define Tiny0   0
 
#define Tiny1   1
 
#define Quick_max   14
 
#define Int_max   14
 
#define rounded_product(a, b)   a *= b
 
#define rounded_quotient(a, b)   a /= b
 
#define Big0   (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
 
#define Big1   0xffffffff
 
#define d0   word0(d)
 
#define d1   word1(d)
 
#define Scale_Bit   0x10
 
#define n_bigtens   5
 

Functions

template<bool roundingNone, bool roundingSignificantFigures, bool roundingDecimalPlaces, bool leftright>
void WTF::dtoa (DtoaBuffer result, double dd, int ndigits, bool &signOut, int &exponentOut, unsigned &precisionOut)
 
WTF_EXPORT_PRIVATE void WTF::dtoa (DtoaBuffer result, double dd, bool &sign, int &exponent, unsigned &precision)
 
WTF_EXPORT_PRIVATE void WTF::dtoaRoundSF (DtoaBuffer result, double dd, int ndigits, bool &sign, int &exponent, unsigned &precision)
 
WTF_EXPORT_PRIVATE void WTF::dtoaRoundDP (DtoaBuffer result, double dd, int ndigits, bool &sign, int &exponent, unsigned &precision)
 
WTF_EXPORT_PRIVATE const char * WTF::numberToString (double, NumberToStringBuffer)
 
WTF_EXPORT_PRIVATE const char * WTF::numberToFixedPrecisionString (double, unsigned significantFigures, NumberToStringBuffer, bool truncateTrailingZeros=false)
 
WTF_EXPORT_PRIVATE const char * WTF::numberToFixedWidthString (double, unsigned decimalPlaces, NumberToStringBuffer)
 
WTF_EXPORT_PRIVATE double WTF::Internal::parseDoubleFromLongString (const UChar *string, size_t length, size_t &parsedLength)
 

Macro Definition Documentation

◆ Bias

#define Bias   1023

◆ Big0

#define Big0   (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))

◆ Big1

#define Big1   0xffffffff

◆ Bletch

#define Bletch   0x10

◆ Bndry_mask

#define Bndry_mask   0xfffff

◆ Bndry_mask1

#define Bndry_mask1   0xfffff

◆ d0

#define d0   word0(d)

◆ d1

#define d1   word1(d)

◆ dval

#define dval (   x)    (x)->d

◆ Ebits

#define Ebits   11

◆ Emin

#define Emin   (-1022)

◆ Exp_1

#define Exp_1   0x3ff00000

◆ Exp_11

#define Exp_11   0x3ff00000

◆ Exp_mask

#define Exp_mask   0x7ff00000

◆ Exp_msk1

#define Exp_msk1   0x100000

◆ Exp_msk11

#define Exp_msk11   0x100000

◆ Exp_shift

#define Exp_shift   20

◆ Exp_shift1

#define Exp_shift1   20

◆ Frac_mask

#define Frac_mask   0xfffff

◆ Frac_mask1

#define Frac_mask1   0xfffff

◆ Int_max

#define Int_max   14

◆ Log2P

#define Log2P   1

◆ LSB

#define LSB   1

◆ n_bigtens

#define n_bigtens   5

◆ P

#define P   53

◆ Quick_max

#define Quick_max   14

◆ rounded_product

#define rounded_product (   a,
  b 
)    a *= b

◆ rounded_quotient

#define rounded_quotient (   a,
  b 
)    a /= b

◆ Scale_Bit

#define Scale_Bit   0x10

◆ Sign_bit

#define Sign_bit   0x80000000

◆ Ten_pmax

#define Ten_pmax   22

◆ Tiny0

#define Tiny0   0

◆ Tiny1

#define Tiny1   1

◆ word0

#define word0 (   x)    (x)->L[1]

◆ word1

#define word1 (   x)    (x)->L[0]