CUBRID Engine  latest
mprec.h File Reference
#include <config.h>
#include <stdint.h>
#include "ieeefp.h"
Include dependency graph for mprec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  double_union
 
struct  _Jv_Bigint
 
struct  _Jv_reent
 

Macros

#define Sign_Extend(a, b)   /* no-op */
 
#define word0(x)   (x.i[0])
 
#define word1(x)   (x.i[1])
 
#define Storeinc(a, b, c)
 
#define Sudden_Underflow
 
#define Exp_shift   23
 
#define Exp_shift1   7
 
#define Exp_msk1   0x80
 
#define Exp_msk11   ((uint32_t)0x800000L)
 
#define Exp_mask   ((uint32_t)0x7f80L)
 
#define PREC   56
 
#define Bias   129
 
#define Exp_1   ((uint32_t)0x40800000L)
 
#define Exp_11   ((uint32_t)0x4080L)
 
#define Ebits   8
 
#define Frac_mask   ((uint32_t)0x7fffffL)
 
#define Frac_mask1   ((uint32_t)0xffff007fL)
 
#define Ten_pmax   24
 
#define Bletch   2
 
#define Bndry_mask   ((uint32_t)0xffff007fL)
 
#define Bndry_mask1   ((uint32_t)0xffff007fL)
 
#define LSB   ((uint32_t)0x10000L)
 
#define Sign_bit   ((uint32_t)0x8000L)
 
#define Log2P   1
 
#define Tiny0   0x80
 
#define Tiny1   0
 
#define Quick_max   15
 
#define Int_max   15
 
#define ROUND_BIASED
 
#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   ((uint32_t)0xffffffffL)
 
#define Pack_32
 
#define MAX_BIGNUMS   16
 
#define MAX_BIGNUM_WDS   32
 
#define _PTR   void *
 
#define _AND   ,
 
#define _NOARGS   void
 
#define _CONST   const
 
#define _VOLATILE   volatile
 
#define _SIGNED   signed
 
#define _DOTS   , ...
 
#define _VOID   void
 
#define _EXFUN(name, proto)   name proto
 
#define _DEFUN(name, arglist, args)   name(args)
 
#define _DEFUN_VOID(name)   name(_NOARGS)
 
#define _CAST_VOID   (void)
 
#define Balloc   _Jv_Balloc
 
#define Bfree   _Jv_Bfree
 
#define multadd   _Jv_multadd
 
#define s2b   _Jv_s2b
 
#define lo0bits   _Jv_lo0bits
 
#define hi0bits   _Jv_hi0bits
 
#define i2b   _Jv_i2b
 
#define mult   _Jv_mult
 
#define pow5mult   _Jv_pow5mult
 
#define lshift   _Jv_lshift
 
#define cmp   _Jv__mcmp
 
#define diff   _Jv__mdiff
 
#define ulp   _Jv_ulp
 
#define b2d   _Jv_b2d
 
#define d2b   _Jv_d2b
 
#define ratio   _Jv_ratio
 
#define tens   _Jv__mprec_tens
 
#define bigtens   _Jv__mprec_bigtens
 
#define tinytens   _Jv__mprec_tinytens
 
#define _dtoa   _Jv_dtoa
 
#define _dtoa_r   _Jv_dtoa_r
 
#define _strtod_r   _Jv_strtod_r
 
#define Bcopy(x, y)   memcpy((char *)&x->_sign, (char *)&y->_sign, y->_wds*sizeof(long) + 2*sizeof(int))
 
#define n_bigtens   5
 

Typedefs

typedef struct _Jv_Bigint _Jv_Bigint
 

Functions

double _EXFUN (_strtod_r,(struct _Jv_reent *ptr, const char *s00, char **se))
 
char * _EXFUN (_dtoa_r,(struct _Jv_reent *ptr, double d, int mode, int ndigits, int *decpt, int *sign, char **rve, int float_type))
 
void _EXFUN (_dtoa,(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char *buf, int float_type))
 
double _EXFUN (ulp,(double x))
 
double _EXFUN (b2d,(_Jv_Bigint *a, int *e))
 
_Jv_Bigint_EXFUN (Balloc,(struct _Jv_reent *p, int k))
 
void _EXFUN (Bfree,(struct _Jv_reent *p, _Jv_Bigint *v))
 
_Jv_Bigint_EXFUN (multadd,(struct _Jv_reent *p, _Jv_Bigint *, int, int))
 
_Jv_Bigint_EXFUN (s2b,(struct _Jv_reent *, const char *, int, int, unsigned long))
 
_Jv_Bigint_EXFUN (i2b,(struct _Jv_reent *, int))
 
_Jv_Bigint_EXFUN (mult,(struct _Jv_reent *, _Jv_Bigint *, _Jv_Bigint *))
 
_Jv_Bigint_EXFUN (pow5mult,(struct _Jv_reent *, _Jv_Bigint *, int k))
 
int _EXFUN (hi0bits,(unsigned long))
 
int _EXFUN (lo0bits,(unsigned long *))
 
_Jv_Bigint_EXFUN (d2b,(struct _Jv_reent *p, double d, int *e, int *bits))
 
_Jv_Bigint_EXFUN (lshift,(struct _Jv_reent *p, _Jv_Bigint *b, int k))
 
_Jv_Bigint_EXFUN (diff,(struct _Jv_reent *p, _Jv_Bigint *a, _Jv_Bigint *b))
 
int _EXFUN (cmp,(_Jv_Bigint *a, _Jv_Bigint *b))
 
double _EXFUN (ratio,(_Jv_Bigint *a, _Jv_Bigint *b))
 

Variables

Exactly one of IEEE_8087
 
Exactly one of IEEE_MC68k
 
Exactly one of VAX
 
_CONST double tinytens []
 
_CONST double bigtens []
 
_CONST double tens []
 

Macro Definition Documentation

#define _AND   ,

Definition at line 309 of file mprec.h.

Referenced by _DEFUN().

#define _CAST_VOID   (void)

Definition at line 321 of file mprec.h.

#define _CONST   const

Definition at line 311 of file mprec.h.

Referenced by _DEFUN().

#define _DEFUN (   name,
  arglist,
  args 
)    name(args)

Definition at line 319 of file mprec.h.

#define _DEFUN_VOID (   name)    name(_NOARGS)

Definition at line 320 of file mprec.h.

#define _DOTS   , ...

Definition at line 314 of file mprec.h.

#define _dtoa   _Jv_dtoa

Definition at line 362 of file mprec.h.

Referenced by numeric_internal_real_to_num(), tp_dtoa(), tp_ftoa(), and util_byte_to_size_string().

#define _dtoa_r   _Jv_dtoa_r

Definition at line 363 of file mprec.h.

Referenced by _DEFUN().

#define _EXFUN (   name,
  proto 
)    name proto

Definition at line 317 of file mprec.h.

#define _NOARGS   void

Definition at line 310 of file mprec.h.

#define _PTR   void *

Definition at line 308 of file mprec.h.

#define _SIGNED   signed

Definition at line 313 of file mprec.h.

#define _strtod_r   _Jv_strtod_r

Definition at line 364 of file mprec.h.

#define _VOID   void

Definition at line 315 of file mprec.h.

Referenced by free_Bigints().

#define _VOLATILE   volatile

Definition at line 312 of file mprec.h.

#define b2d   _Jv_b2d

Definition at line 354 of file mprec.h.

Referenced by _DEFUN().

#define Balloc   _Jv_Balloc

Definition at line 341 of file mprec.h.

Referenced by _DEFUN().

#define Bcopy (   x,
 
)    memcpy((char *)&x->_sign, (char *)&y->_sign, y->_wds*sizeof(long) + 2*sizeof(int))

Definition at line 390 of file mprec.h.

Referenced by _DEFUN().

#define Bfree   _Jv_Bfree

Definition at line 342 of file mprec.h.

Referenced by _DEFUN().

#define Bias   129

Definition at line 237 of file mprec.h.

Referenced by _DEFUN().

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

Definition at line 274 of file mprec.h.

#define Big1   ((uint32_t)0xffffffffL)

Definition at line 275 of file mprec.h.

#define bigtens   _Jv__mprec_bigtens

Definition at line 359 of file mprec.h.

Referenced by _DEFUN().

#define Bletch   2

Definition at line 244 of file mprec.h.

Referenced by _DEFUN().

#define Bndry_mask   ((uint32_t)0xffff007fL)

Definition at line 245 of file mprec.h.

Referenced by _DEFUN().

#define Bndry_mask1   ((uint32_t)0xffff007fL)

Definition at line 246 of file mprec.h.

#define d2b   _Jv_d2b

Definition at line 355 of file mprec.h.

Referenced by _DEFUN().

#define Ebits   8

Definition at line 240 of file mprec.h.

Referenced by _DEFUN().

#define Exp_1   ((uint32_t)0x40800000L)

Definition at line 238 of file mprec.h.

Referenced by _DEFUN().

#define Exp_11   ((uint32_t)0x4080L)

Definition at line 239 of file mprec.h.

Referenced by _DEFUN().

#define Exp_mask   ((uint32_t)0x7f80L)

Definition at line 235 of file mprec.h.

Referenced by _DEFUN().

#define Exp_msk1   0x80

Definition at line 233 of file mprec.h.

Referenced by _DEFUN().

#define Exp_msk11   ((uint32_t)0x800000L)

Definition at line 234 of file mprec.h.

Referenced by _DEFUN().

#define Exp_shift   23

Definition at line 231 of file mprec.h.

Referenced by _DEFUN().

#define Exp_shift1   7

Definition at line 232 of file mprec.h.

Referenced by _DEFUN().

#define Frac_mask   ((uint32_t)0x7fffffL)

Definition at line 241 of file mprec.h.

Referenced by _DEFUN().

#define Frac_mask1   ((uint32_t)0xffff007fL)

Definition at line 242 of file mprec.h.

Referenced by _DEFUN().

#define hi0bits   _Jv_hi0bits

Definition at line 346 of file mprec.h.

Referenced by _DEFUN().

#define i2b   _Jv_i2b

Definition at line 347 of file mprec.h.

Referenced by _DEFUN().

#define Int_max   15

Definition at line 253 of file mprec.h.

Referenced by _DEFUN().

#define lo0bits   _Jv_lo0bits

Definition at line 345 of file mprec.h.

Referenced by _DEFUN().

#define Log2P   1

Definition at line 249 of file mprec.h.

Referenced by _DEFUN().

#define LSB   ((uint32_t)0x10000L)

Definition at line 247 of file mprec.h.

#define lshift   _Jv_lshift

Definition at line 350 of file mprec.h.

Referenced by _DEFUN().

#define MAX_BIGNUM_WDS   32

Definition at line 294 of file mprec.h.

#define MAX_BIGNUMS   16

Definition at line 292 of file mprec.h.

#define mult   _Jv_mult

Definition at line 348 of file mprec.h.

Referenced by _DEFUN().

#define multadd   _Jv_multadd

Definition at line 343 of file mprec.h.

Referenced by _DEFUN().

#define n_bigtens   5

Definition at line 395 of file mprec.h.

Referenced by _DEFUN().

#define Pack_32

Definition at line 286 of file mprec.h.

#define pow5mult   _Jv_pow5mult

Definition at line 349 of file mprec.h.

Referenced by _DEFUN().

#define PREC   56

Definition at line 236 of file mprec.h.

Referenced by _DEFUN().

#define Quick_max   15

Definition at line 252 of file mprec.h.

Referenced by _DEFUN().

#define ratio   _Jv_ratio

Definition at line 356 of file mprec.h.

Referenced by _DEFUN(), and thread_timeval_add_usec().

#define ROUND_BIASED

Definition at line 258 of file mprec.h.

Referenced by _DEFUN().

#define rounded_product (   a,
 
)    a *= b

Definition at line 270 of file mprec.h.

#define rounded_quotient (   a,
 
)    a /= b

Definition at line 271 of file mprec.h.

#define s2b   _Jv_s2b

Definition at line 344 of file mprec.h.

Referenced by _DEFUN().

#define Sign_bit   ((uint32_t)0x8000L)

Definition at line 248 of file mprec.h.

Referenced by _DEFUN().

#define Sign_Extend (   a,
 
)    /* no-op */

Definition at line 94 of file mprec.h.

Referenced by _DEFUN().

#define Storeinc (   a,
  b,
 
)
Value:
(((unsigned short *)a)[0] = (unsigned short)b, \
((unsigned short *)a)[1] = (unsigned short)c, a++)

Definition at line 126 of file mprec.h.

Referenced by _DEFUN().

#define Sudden_Underflow

Definition at line 205 of file mprec.h.

Referenced by _DEFUN().

#define Ten_pmax   24

Definition at line 243 of file mprec.h.

Referenced by _DEFUN().

#define tens   _Jv__mprec_tens

Definition at line 358 of file mprec.h.

Referenced by _DEFUN().

#define Tiny0   0x80

Definition at line 250 of file mprec.h.

#define Tiny1   0

Definition at line 251 of file mprec.h.

#define tinytens   _Jv__mprec_tinytens

Definition at line 360 of file mprec.h.

#define ulp   _Jv_ulp

Definition at line 353 of file mprec.h.

Referenced by _DEFUN().

#define word0 (   x)    (x.i[0])

Definition at line 114 of file mprec.h.

Referenced by _DEFUN().

#define word1 (   x)    (x.i[1])

Definition at line 115 of file mprec.h.

Referenced by _DEFUN().

Typedef Documentation

typedef struct _Jv_Bigint _Jv_Bigint

Definition at line 339 of file mprec.h.

Function Documentation

double _EXFUN ( _strtod_r  ,
(struct _Jv_reent *ptr, const char *s00, char **se)   
)
char* _EXFUN ( _dtoa_r  ,
(struct _Jv_reent *ptr, double d, int mode, int ndigits, int *decpt, int *sign, char **rve, int float_type)   
)
void _EXFUN ( _dtoa  ,
(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char *buf, int float_type)   
)
double _EXFUN ( ulp  ,
(double x)   
)
double _EXFUN ( b2d  ,
(_Jv_Bigint *a, int *e)   
)
_Jv_Bigint* _EXFUN ( Balloc  ,
(struct _Jv_reent *p, int k)   
)
void _EXFUN ( Bfree  ,
(struct _Jv_reent *p, _Jv_Bigint *v)   
)
_Jv_Bigint* _EXFUN ( multadd  ,
(struct _Jv_reent *p, _Jv_Bigint *, int, int)   
)
_Jv_Bigint* _EXFUN ( s2b  ,
(struct _Jv_reent *, const char *, int, int, unsigned long)   
)
_Jv_Bigint* _EXFUN ( i2b  ,
(struct _Jv_reent *, int)   
)
_Jv_Bigint* _EXFUN ( mult  ,
(struct _Jv_reent *, _Jv_Bigint *, _Jv_Bigint *)   
)
_Jv_Bigint* _EXFUN ( pow5mult  ,
(struct _Jv_reent *, _Jv_Bigint *, int k)   
)
int _EXFUN ( hi0bits  ,
(unsigned long)   
)
int _EXFUN ( lo0bits  ,
(unsigned long *)   
)
_Jv_Bigint* _EXFUN ( d2b  ,
(struct _Jv_reent *p, double d, int *e, int *bits)   
)
_Jv_Bigint* _EXFUN ( lshift  ,
(struct _Jv_reent *p, _Jv_Bigint *b, int k)   
)
_Jv_Bigint* _EXFUN ( diff  ,
(struct _Jv_reent *p, _Jv_Bigint *a, _Jv_Bigint *b)   
)
int _EXFUN ( cmp  ,
(_Jv_Bigint *a, _Jv_Bigint *b)   
)
double _EXFUN ( ratio  ,
(_Jv_Bigint *a, _Jv_Bigint *b)   
)

Variable Documentation

_CONST double bigtens[]

Definition at line 971 of file mprec.c.

Exactly one of IEEE_8087

Definition at line 98 of file mprec.h.

Exactly one of IEEE_MC68k

Definition at line 98 of file mprec.h.

_CONST double tens[]

Definition at line 964 of file mprec.c.

_CONST double tinytens[]

Definition at line 973 of file mprec.c.

Exactly one of VAX

Definition at line 98 of file mprec.h.