Classes | Macros | Typedefs | Enumerations | Functions | Variables
OSdtoa.cpp File Reference
#include "OSConfig.h"
#include "OSdtoa.h"
#include "OSParameters.h"
#include "stdlib.h"
#include "string.h"
#include "errno.h"
#include "float.h"
#include "math.h"
Include dependency graph for OSdtoa.cpp:

Go to the source code of this file.

Classes

union  U
 
struct  BCinfo
 
struct  Bigint
 

Macros

#define IEEE_8087
 the following is OS code put bigendian check here More...
 
#define INFNAN_CHECK
 
#define NO_LONG_LONG
 
#define Just_16
 
#define Long   int
 
#define Intcast   (int)(long)
 
#define MALLOC   malloc
 
#define PRIVATE_MEM   2304
 
#define PRIVATE_mem   ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double))
 
#define IEEE_Arith
 
#define INFNAN_CHECK
 
#define CONST   const
 
#define word0(x)   (x)->L[1]
 
#define word1(x)   (x)->L[0]
 
#define dval(x)   (x)->d
 
#define STRTOD_DIGLIM   40
 
#define strtod_diglim   STRTOD_DIGLIM
 
#define Storeinc(a, b, c)
 
#define Exp_shift   20
 
#define Exp_shift1   20
 
#define Exp_msk1   0x100000
 
#define Exp_msk11   0x100000
 
#define Exp_mask   0x7ff00000
 
#define P   53
 
#define Nbits   53
 
#define Bias   1023
 
#define Emax   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 Avoid_Underflow
 
#define Flt_Rounds   1
 
#define Rounding   Flt_Rounds
 
#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 Pack_32
 
#define FFFFFFFF   0xffffffffUL
 
#define ACQUIRE_DTOA_LOCK(n)   /*nothing*/
 
#define FREE_DTOA_LOCK(n)   /*nothing*/
 
#define Kmax   7
 
#define Bcopy(x, y)
 
#define d0   word0(&d)
 
#define d1   word1(&d)
 
#define d0   word0(d)
 
#define d1   word1(d)
 
#define Scale_Bit   0x10
 
#define n_bigtens   5
 
#define Need_Hexdig
 
#define NAN_WORD0   0x7ff80000
 
#define NAN_WORD1   0
 
#define ULbits   16
 
#define kshift   4
 
#define kmask   15
 

Typedefs

typedef unsigned Long ULong
 end of OS code, below is David Gay, except as noted above More...
 
typedef struct BCinfo BCinfo
 
typedef struct Bigint Bigint
 

Enumerations

enum  { Round_zero = 0, Round_near = 1, Round_up = 2, Round_down = 3 }
 
enum  { emax = 0x7fe - Bias - P + 1, emin = Emin - P + 1 }
 

Functions

static BigintBalloc (int k)
 
static void Bfree (Bigint *v)
 
static Bigintmultadd (Bigint *b, int m, int a)
 
static Bigints2b (const char *s, int nd0, int nd, ULong y9, int dplen)
 
static int hi0bits (ULong x)
 
static int lo0bits (ULong *y)
 
static Biginti2b (int i)
 
static Bigintmult (Bigint *a, Bigint *b)
 
static Bigintpow5mult (Bigint *b, int k)
 
static Bigintlshift (Bigint *b, int k)
 
static int cmp (Bigint *a, Bigint *b)
 
static Bigintdiff (Bigint *a, Bigint *b)
 
static double ulp (U *x)
 
static double b2d (Bigint *a, int *e)
 
static Bigintd2b (U *d, int *e, int *bits)
 
static double ratio (Bigint *a, Bigint *b)
 
static int match (const char **sp, const char *t)
 
static void hexnan (U *rvp, const char **sp)
 
 while (x< xe)
 
 if (n< b->wds)
 
else if (n< nwds &&(k &=kmask))
 
 while ((n=hexdig[*++s])!=0 &&n<=0x19)
 
 if (big)
 
 for (k=0;n >(1<< (kshift-2))-1;n >>=1) k++
 
 while (s1 > s0)
 
 if (n > nbits)
 
 if (e > Emax)
 
 if (lostbits)
 
 word0 (rvp) = (b->x[1] & ~0x100000) | ((e + 0x3ff + 52) << 20)
 
 word1 (rvp)
 
 Bfree (b)
 
static int quorem (Bigint *b, Bigint *S)
 
static double sulp (U *x, BCinfo *bc)
 
static void bigcomp (U *rv, const char *s0, BCinfo *bc)
 
double os_strtod (const char *s00, char **se)
 
 for (k=0;sizeof(Bigint)-sizeof(ULong)-sizeof(int)+j<=i;j<<=1) k++
 
 while ((*t=*s++)) t++
 
char * os_dtoa (double dd, int mode, int ndigits, int *decpt, int *sign, char **rve)
 

Variables

static double private_mem [PRIVATE_mem]
 
static double * pmem_next = private_mem
 
static Bigintfreelist [Kmax+1]
 
static Bigintp5s
 
static CONST double tens []
 
static CONST double bigtens [] = { 1e16, 1e32, 1e64, 1e128, 1e256 }
 
static CONST double tinytens []
 
static unsigned char hexdig [256]
 
static Bigint *ULongx = b->x
 
static Bigint *ULongxe = x + b->wds
 
Bigintb1
 
 do
 
return b
 
static void
 
int n = k >> kshift
 
ULongx0 = x
 
ULong x1
 
ULong x2
 
 nwds = b->wds
 
 return
 
CONST unsigned char * decpt = 0
 
CONST unsigned char * s0 = *(CONST unsigned char **)sp + 2
 
CONST unsigned char * s = s0
 
CONST unsigned char * s1
 
Long e = 0
 
Long e1 = -e1
 
ULong L = 0
 
ULong lostbits = 0
 
int big = esign = 0
 
int denorm = 0
 
int esign
 
int havedig = 0
 
int k
 
int nbits = Nbits
 
int up
 
int zret = 0
 
 else
 
goto pcheck
 
pcheck __pad0__
 
sp = (char*)s
 
goto retz1
 
b wds = n = x - b->x
 
static int
 
 rv = p2
 
return rvkmask
 
static char * dtoa_result
 
static char * j = sizeof(ULong)
 
 r = (int*)Balloc(k)
 
static char * t = rv = rv_alloc(n)
 
rve = t
 
b maxwds = 1 << (b->k = *(int*)b)
 

Macro Definition Documentation

#define IEEE_8087

the following is OS code put bigendian check here

Definition at line 28 of file OSdtoa.cpp.

#define INFNAN_CHECK

Definition at line 292 of file OSdtoa.cpp.

#define NO_LONG_LONG

Definition at line 33 of file OSdtoa.cpp.

#define Just_16

Definition at line 34 of file OSdtoa.cpp.

#define Long   int

Definition at line 37 of file OSdtoa.cpp.

#define Intcast   (int)(long)

Definition at line 38 of file OSdtoa.cpp.

#define MALLOC   malloc

Definition at line 269 of file OSdtoa.cpp.

#define PRIVATE_MEM   2304

Definition at line 274 of file OSdtoa.cpp.

#define PRIVATE_mem   ((PRIVATE_MEM+sizeof(double)-1)/sizeof(double))

Definition at line 276 of file OSdtoa.cpp.

#define IEEE_Arith

Definition at line 286 of file OSdtoa.cpp.

#define INFNAN_CHECK

Definition at line 292 of file OSdtoa.cpp.

#define CONST   const

Definition at line 346 of file OSdtoa.cpp.

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

Definition at line 357 of file OSdtoa.cpp.

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

Definition at line 358 of file OSdtoa.cpp.

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

Definition at line 363 of file OSdtoa.cpp.

#define STRTOD_DIGLIM   40

Definition at line 366 of file OSdtoa.cpp.

#define strtod_diglim   STRTOD_DIGLIM

Definition at line 372 of file OSdtoa.cpp.

#define Storeinc (   a,
  b,
  c 
)
Value:
(((unsigned short *)a)[1] = (unsigned short)b, \
((unsigned short *)a)[0] = (unsigned short)c, a++)
void fint fint fint real * a
return b
Definition: OSdtoa.cpp:1719
real c

Definition at line 380 of file OSdtoa.cpp.

#define Exp_shift   20

Definition at line 394 of file OSdtoa.cpp.

#define Exp_shift1   20

Definition at line 395 of file OSdtoa.cpp.

#define Exp_msk1   0x100000

Definition at line 396 of file OSdtoa.cpp.

#define Exp_msk11   0x100000

Definition at line 397 of file OSdtoa.cpp.

#define Exp_mask   0x7ff00000

Definition at line 398 of file OSdtoa.cpp.

#define P   53

Definition at line 399 of file OSdtoa.cpp.

#define Nbits   53

Definition at line 400 of file OSdtoa.cpp.

#define Bias   1023

Definition at line 401 of file OSdtoa.cpp.

#define Emax   1023

Definition at line 402 of file OSdtoa.cpp.

#define Emin   (-1022)

Definition at line 403 of file OSdtoa.cpp.

#define Exp_1   0x3ff00000

Definition at line 404 of file OSdtoa.cpp.

#define Exp_11   0x3ff00000

Definition at line 405 of file OSdtoa.cpp.

#define Ebits   11

Definition at line 406 of file OSdtoa.cpp.

#define Frac_mask   0xfffff

Definition at line 407 of file OSdtoa.cpp.

#define Frac_mask1   0xfffff

Definition at line 408 of file OSdtoa.cpp.

#define Ten_pmax   22

Definition at line 409 of file OSdtoa.cpp.

#define Bletch   0x10

Definition at line 410 of file OSdtoa.cpp.

#define Bndry_mask   0xfffff

Definition at line 411 of file OSdtoa.cpp.

#define Bndry_mask1   0xfffff

Definition at line 412 of file OSdtoa.cpp.

#define LSB   1

Definition at line 413 of file OSdtoa.cpp.

#define Sign_bit   0x80000000

Definition at line 414 of file OSdtoa.cpp.

#define Log2P   1

Definition at line 415 of file OSdtoa.cpp.

#define Tiny0   0

Definition at line 416 of file OSdtoa.cpp.

#define Tiny1   1

Definition at line 417 of file OSdtoa.cpp.

#define Quick_max   14

Definition at line 418 of file OSdtoa.cpp.

#define Int_max   14

Definition at line 419 of file OSdtoa.cpp.

#define Avoid_Underflow

Definition at line 421 of file OSdtoa.cpp.

#define Flt_Rounds   1

Definition at line 431 of file OSdtoa.cpp.

#define Rounding   Flt_Rounds

Definition at line 439 of file OSdtoa.cpp.

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

Definition at line 527 of file OSdtoa.cpp.

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

Definition at line 528 of file OSdtoa.cpp.

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

Definition at line 531 of file OSdtoa.cpp.

#define Big1   0xffffffff

Definition at line 532 of file OSdtoa.cpp.

#define Pack_32

Definition at line 535 of file OSdtoa.cpp.

#define FFFFFFFF   0xffffffffUL

Definition at line 545 of file OSdtoa.cpp.

#define ACQUIRE_DTOA_LOCK (   n)    /*nothing*/

Definition at line 568 of file OSdtoa.cpp.

#define FREE_DTOA_LOCK (   n)    /*nothing*/

Definition at line 569 of file OSdtoa.cpp.

#define Kmax   7

Definition at line 572 of file OSdtoa.cpp.

#define Bcopy (   x,
 
)
Value:
memcpy((char *)&x->sign, (char *)&y->sign, \
y->wds*sizeof(Long) + 2*sizeof(int))
#define Long
Definition: OSdtoa.cpp:37
void fint fint fint real fint real * x

Definition at line 656 of file OSdtoa.cpp.

#define d0   word0(&d)
#define d1   word1(&d)
#define d0   word0(d)
#define d1   word1(d)
#define Scale_Bit   0x10

Definition at line 1519 of file OSdtoa.cpp.

#define n_bigtens   5

Definition at line 1520 of file OSdtoa.cpp.

#define Need_Hexdig

Definition at line 1536 of file OSdtoa.cpp.

#define NAN_WORD0   0x7ff80000

Definition at line 1592 of file OSdtoa.cpp.

#define NAN_WORD1   0

Definition at line 1596 of file OSdtoa.cpp.

#define ULbits   16

Definition at line 1694 of file OSdtoa.cpp.

#define kshift   4

Definition at line 1695 of file OSdtoa.cpp.

#define kmask   15

Definition at line 1696 of file OSdtoa.cpp.

Typedef Documentation

static ULong
Initial value:
{
int n, nwds
nwds
Definition: OSdtoa.cpp:1779
void fint * n

end of OS code, below is David Gay, except as noted above

Definition at line 239 of file OSdtoa.cpp.

typedef struct BCinfo BCinfo

Definition at line 538 of file OSdtoa.cpp.

typedef struct Bigint Bigint

Definition at line 587 of file OSdtoa.cpp.

Enumeration Type Documentation

anonymous enum
Enumerator
Round_zero 
Round_near 
Round_up 
Round_down 

Definition at line 1798 of file OSdtoa.cpp.

anonymous enum
Enumerator
emax 
emin 

Definition at line 1821 of file OSdtoa.cpp.

Function Documentation

static Bigint* Balloc ( int  k)
static

Definition at line 596 of file OSdtoa.cpp.

static void Bfree ( Bigint v)
static

Definition at line 637 of file OSdtoa.cpp.

static Bigint* multadd ( Bigint b,
int  m,
int  a 
)
static

Definition at line 664 of file OSdtoa.cpp.

static Bigint* s2b ( const char *  s,
int  nd0,
int  nd,
ULong  y9,
int  dplen 
)
static

Definition at line 721 of file OSdtoa.cpp.

static int hi0bits ( ULong  x)
static

Definition at line 759 of file OSdtoa.cpp.

static int lo0bits ( ULong y)
static

Definition at line 793 of file OSdtoa.cpp.

static Bigint* i2b ( int  i)
static

Definition at line 841 of file OSdtoa.cpp.

static Bigint* mult ( Bigint a,
Bigint b 
)
static

Definition at line 857 of file OSdtoa.cpp.

static Bigint* pow5mult ( Bigint b,
int  k 
)
static

Definition at line 969 of file OSdtoa.cpp.

static Bigint* lshift ( Bigint b,
int  k 
)
static

Definition at line 1026 of file OSdtoa.cpp.

static int cmp ( Bigint a,
Bigint b 
)
static

Definition at line 1086 of file OSdtoa.cpp.

static Bigint* diff ( Bigint a,
Bigint b 
)
static

Definition at line 1120 of file OSdtoa.cpp.

static double ulp ( U x)
static

Definition at line 1214 of file OSdtoa.cpp.

static double b2d ( Bigint a,
int e 
)
static

Definition at line 1256 of file OSdtoa.cpp.

static Bigint* d2b ( U d,
int e,
int bits 
)
static

Definition at line 1326 of file OSdtoa.cpp.

static double ratio ( Bigint a,
Bigint b 
)
static

Definition at line 1460 of file OSdtoa.cpp.

static int match ( const char **  sp,
const char *  t 
)
static

Definition at line 1604 of file OSdtoa.cpp.

static void hexnan ( U rvp,
const char **  sp 
)
static

Definition at line 1626 of file OSdtoa.cpp.

while ( )
if ( n< b->  wds)

Definition at line 1747 of file OSdtoa.cpp.

else if ( )

Definition at line 1783 of file OSdtoa.cpp.

while ( (n=hexdig[*++s])!  = 0 && n <= 0x19)

Definition at line 1925 of file OSdtoa.cpp.

if ( big  )

Definition at line 1939 of file OSdtoa.cpp.

for ( k  = 0;n,
(1<< (kshift-2))-1;n >>  = 1 
)
while ( s1  ,
s0   
)

Definition at line 1993 of file OSdtoa.cpp.

if ( n  ,
nbits   
)

Definition at line 2017 of file OSdtoa.cpp.

if ( e  ,
Emax   
)

Definition at line 2037 of file OSdtoa.cpp.

if ( lostbits  )

Definition at line 2088 of file OSdtoa.cpp.

else word0 ( rvp  ) = (b->x[1] & ~0x100000) | ((e + 0x3ff + 52) << 20)
word1 ( rvp  )
Bfree ( b  )
static int quorem ( Bigint b,
Bigint S 
)
static

Definition at line 2185 of file OSdtoa.cpp.

static double sulp ( U x,
BCinfo bc 
)
static

Definition at line 2310 of file OSdtoa.cpp.

static void bigcomp ( U rv,
const char *  s0,
BCinfo bc 
)
static

Definition at line 2333 of file OSdtoa.cpp.

double os_strtod ( const char *  s00,
char **  se 
)

Definition at line 2541 of file OSdtoa.cpp.

for ( k  = 0;sizeof(Bigint)-sizeof(ULong)-sizeof(int)+j<=i;j<<=1)
while ( *=*++  s)
char* os_dtoa ( double  dd,
int  mode,
int  ndigits,
int decpt,
int sign,
char **  rve 
)

Definition at line 3714 of file OSdtoa.cpp.

Variable Documentation

double private_mem[PRIVATE_mem]
static

Definition at line 277 of file OSdtoa.cpp.

double * pmem_next = private_mem
static

Definition at line 277 of file OSdtoa.cpp.

Bigint* freelist[Kmax+1]
static

Definition at line 589 of file OSdtoa.cpp.

Bigint* p5s
static

Definition at line 962 of file OSdtoa.cpp.

CONST double tens[]
static
Initial value:
= {
1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
1e20, 1e21, 1e22
}
Long e1
Definition: OSdtoa.cpp:1815

Definition at line 1497 of file OSdtoa.cpp.

CONST double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }
static

Definition at line 1508 of file OSdtoa.cpp.

CONST double tinytens[]
static
Initial value:
= { 1e-16, 1e-32, 1e-64, 1e-128,
9007199254740992.*9007199254740992.e-256
}
void fint fint fint real fint real real real real real real real real real * e

Definition at line 1509 of file OSdtoa.cpp.

unsigned char hexdig[256]
static
Initial value:
= {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
16,17,18,19,20,21,22,23,24,25,0,0,0,0,0,0,
0,26,27,28,29,30,31,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,26,27,28,29,30,31,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
}

Definition at line 1568 of file OSdtoa.cpp.

x = b->x
static

Definition at line 1707 of file OSdtoa.cpp.

xe = x + b->wds
static

Definition at line 1707 of file OSdtoa.cpp.

Bigint* b1

Definition at line 1708 of file OSdtoa.cpp.

do
Initial value:
{
if (*x < (ULong)0xffffffffL) {
++*x;
return b;
}
*x++ = 0
unsigned Long ULong
end of OS code, below is David Gay, except as noted above
Definition: OSdtoa.cpp:239
return b
Definition: OSdtoa.cpp:1719
void fint fint fint real fint real * x

Definition at line 1712 of file OSdtoa.cpp.

b
Initial value:
{
if (b->wds >= b->maxwds) {
b1 = Balloc(b->k+1);
Bfree(b);
b = b1;
}
b->x[b->wds++] = 1
static Bigint * Balloc(int k)
Definition: OSdtoa.cpp:596
static void Bfree(Bigint *v)
Definition: OSdtoa.cpp:637
#define Bcopy(x, y)
Definition: OSdtoa.cpp:656
Bigint * b1
Definition: OSdtoa.cpp:1708
return b
Definition: OSdtoa.cpp:1719

Definition at line 1719 of file OSdtoa.cpp.

void
static
Initial value:
{
ULong *x, *x1, *xe, y
static Bigint *ULong * xe
Definition: OSdtoa.cpp:1707
unsigned Long ULong
end of OS code, below is David Gay, except as noted above
Definition: OSdtoa.cpp:239
ULong x1
Definition: OSdtoa.cpp:1776
void fint fint fint real fint real * x

Definition at line 1741 of file OSdtoa.cpp.

n = k >> kshift

Definition at line 1743 of file OSdtoa.cpp.

x0 = x

Definition at line 1776 of file OSdtoa.cpp.

ULong x1

Definition at line 1776 of file OSdtoa.cpp.

ULong x2

Definition at line 1776 of file OSdtoa.cpp.

nwds = b->wds

Definition at line 1779 of file OSdtoa.cpp.

return

Definition at line 1794 of file OSdtoa.cpp.

decpt = 0

Definition at line 1814 of file OSdtoa.cpp.

s0 = *(CONST unsigned char **)sp + 2

Definition at line 1814 of file OSdtoa.cpp.

switch s = s0

Definition at line 1814 of file OSdtoa.cpp.

CONST unsigned char * s1

Definition at line 1814 of file OSdtoa.cpp.

e = 0

Definition at line 1815 of file OSdtoa.cpp.

e1 = -e1

Definition at line 1815 of file OSdtoa.cpp.

L = 0

Definition at line 1816 of file OSdtoa.cpp.

lostbits = 0

Definition at line 1816 of file OSdtoa.cpp.

big = esign = 0

Definition at line 1817 of file OSdtoa.cpp.

denorm = 0

Definition at line 1817 of file OSdtoa.cpp.

int esign

Definition at line 1817 of file OSdtoa.cpp.

havedig = 0

Definition at line 1817 of file OSdtoa.cpp.

int k

Definition at line 1817 of file OSdtoa.cpp.

nbits = Nbits

Definition at line 1817 of file OSdtoa.cpp.

int up

Definition at line 1817 of file OSdtoa.cpp.

zret = 0

Definition at line 1817 of file OSdtoa.cpp.

else
Initial value:
{
zret = 1
int zret
Definition: OSdtoa.cpp:1817

Definition at line 1867 of file OSdtoa.cpp.

goto pcheck

Definition at line 1877 of file OSdtoa.cpp.

pcheck __pad0__

Definition at line 1908 of file OSdtoa.cpp.

* sp = (char*)s

Definition at line 1934 of file OSdtoa.cpp.

goto retz1

Definition at line 1938 of file OSdtoa.cpp.

b wds = n = x - b->x

Definition at line 2012 of file OSdtoa.cpp.

int
static
Initial value:
{
int rv = hi0bits(b->x[b->wds-1]) - 4
rv
Definition: OSdtoa.cpp:2176
static int hi0bits(ULong x)
Definition: OSdtoa.cpp:759
return b
Definition: OSdtoa.cpp:1719

NO_HEX_FP}

Definition at line 2173 of file OSdtoa.cpp.

return rv = p2

Definition at line 2176 of file OSdtoa.cpp.

return rv& kmask

Definition at line 2177 of file OSdtoa.cpp.

return dtoa_result
static
Initial value:
=
(char *)(r+1)
void fint fint fint real fint real real real real real real real * r

Definition at line 3610 of file OSdtoa.cpp.

char* j = sizeof(ULong)

Definition at line 3622 of file OSdtoa.cpp.

* r = (int*)Balloc(k)

Definition at line 3627 of file OSdtoa.cpp.

char* t = rv = rv_alloc(n)

Definition at line 3645 of file OSdtoa.cpp.

* rve = t

Definition at line 3648 of file OSdtoa.cpp.

b maxwds = 1 << (b->k = *(int*)b)

Definition at line 3666 of file OSdtoa.cpp.