Skip to content

File mprec.h

FileList > base > mprec.h

Go to the source code of this file

  • #include <config.h>
  • #include <stdint.h>
  • #include "ieeefp.h"

Classes

Type Name
struct _Jv_Bigint
struct _Jv_reent

Public Types

Type Name
typedef struct _Jv_Bigint _Jv_Bigint
union double_union

Public Attributes

Type Name
const double _Jv__mprec_bigtens
const double _Jv__mprec_tens
const double _Jv__mprec_tinytens

Public Functions

Type Name
_Jv_Bigint * _Jv_Balloc (struct _Jv_reent * p, int k)
void _Jv_Bfree (struct _Jv_reent * p, _Jv_Bigint * v)
int _Jv__mcmp (_Jv_Bigint * a, _Jv_Bigint * b)
_Jv_Bigint * _Jv__mdiff (struct _Jv_reent * p, _Jv_Bigint * a, _Jv_Bigint * b)
double _Jv_b2d (_Jv_Bigint * a, int * e)
_Jv_Bigint * _Jv_d2b (struct _Jv_reent * p, double d, int * e, int * bits)
void _Jv_dtoa (double d, int mode, int ndigits, int * decpt, int * sign, char ** rve, char * buf, int float_type)
char * _Jv_dtoa_r (struct _Jv_reent * ptr, double d, int mode, int ndigits, int * decpt, int * sign, char ** rve, int float_type)
int _Jv_hi0bits (unsigned long x)
_Jv_Bigint * _Jv_i2b (struct _Jv_reent * ptr, int i)
int _Jv_lo0bits (unsigned long * y)
_Jv_Bigint * _Jv_lshift (struct _Jv_reent * p, _Jv_Bigint * b, int k)
_Jv_Bigint * _Jv_mult (struct _Jv_reent * ptr, _Jv_Bigint * a, _Jv_Bigint * b)
_Jv_Bigint * _Jv_multadd (struct _Jv_reent * p, _Jv_Bigint * b, int m, int a)
_Jv_Bigint * _Jv_pow5mult (struct _Jv_reent * ptr, _Jv_Bigint * b, int k)
double _Jv_ratio (_Jv_Bigint * a, _Jv_Bigint * b)
_Jv_Bigint * _Jv_s2b (struct _Jv_reent * ptr, const char * s, int nd0, int nd, unsigned long y9)
double _Jv_strtod_r (struct _Jv_reent * ptr, const char * s00, char ** se)
double _Jv_ulp (double x)

Macros

Type Name
define Balloc [**\_Jv\_Balloc**](mprec_8c.md#function-_jv_balloc)
define Bcopy (x, y) [**memcpy**](broker__monitor_8c.md#function-timeout)(([**char**](broker__monitor_8c.md#function-timeout) \*)&[**x**](broker__monitor_8c.md#function-timeout)-&gt;\_sign, ([**char**](broker__monitor_8c.md#function-timeout) \*)&[**y**](broker__monitor_8c.md#function-timeout)-&gt;\_sign, [**y**](broker__monitor_8c.md#function-timeout)-&gt;\_wds\*[**sizeof**](broker__monitor_8c.md#function-timeout)([**long**](broker__monitor_8c.md#function-timeout)) + 2\*[**sizeof**](broker__monitor_8c.md#function-timeout)([**int**](broker__monitor_8c.md#function-timeout)))
define Bfree [**\_Jv\_Bfree**](mprec_8c.md#function-_jv_bfree)
define Bias 1023
define Big0 ([**Frac\_mask1**](mprec_8h.md#define-frac_mask1) \| [**Exp\_msk1**](mprec_8h.md#define-exp_msk1)\*([**DBL\_MAX\_EXP**](broker__monitor_8c.md#function-timeout)+[**Bias**](mprec_8h.md#define-bias)-1))
define Big1 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0xffffffffL)
define Bletch 0x10
define Bndry_mask (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0xfffffL)
define Bndry_mask1 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0xfffffL)
define Ebits 11
define Emin (-1022)
define Exp_1 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x3ff00000L)
define Exp_11 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x3ff00000L)
define Exp_mask (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x7ff00000L)
define Exp_msk1 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x100000L)
define Exp_msk11 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x100000L)
define Exp_shift 20
define Exp_shift1 20
define Frac_mask (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0xfffffL)
define Frac_mask1 (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0xfffffL)
define IEEE_8087
define IEEE_Arith
define Infinite (x) ([**word0**](mprec_8h.md#define-word0)([**x**](broker__monitor_8c.md#function-timeout)) == (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x7ff00000L)) /\* [**sufficient**](broker__monitor_8c.md#function-timeout) [**test**](broker__monitor_8c.md#function-timeout) [**for**](dynamic__load_8c.md#function-for) [**here**](broker__monitor_8c.md#function-timeout) \*/
define Int_max 14
define LSB 1
define Log2P 1
define MAX_BIGNUMS 16
define MAX_BIGNUM_WDS 32
define PREC 53
define Pack_32
define Quick_max 14
define Sign_Extend (a, b) /\* [**no**](broker__monitor_8c.md#function-timeout)-op \*/
define Sign_bit (([**uint32\_t**](broker__monitor_8c.md#function-timeout))0x80000000L)
define Storeinc (a, b, c) /* multi line expression */
define Ten_pmax 22
define Tiny0 0
define Tiny1 1
define _AND ,
define _CAST_VOID ([**void**](broker__monitor_8c.md#function-timeout))
define _CONST [**const**](broker__monitor_8c.md#function-timeout)
define _DEFUN (name, arglist, args) name(args)
define _DEFUN_VOID (name) name([**\_NOARGS**](mprec_8h.md#define-_noargs))
define _DOTS , ...
define _EXFUN (name, proto) name [**proto**](broker__monitor_8c.md#function-timeout)
define _NOARGS [**void**](broker__monitor_8c.md#function-timeout)
define _PTR [**void**](broker__monitor_8c.md#function-timeout) \*
define _SIGNED [**signed**](broker__monitor_8c.md#function-timeout)
define _VOID [**void**](broker__monitor_8c.md#function-timeout)
define _VOLATILE [**volatile**](broker__monitor_8c.md#function-timeout)
define _dtoa [**\_Jv\_dtoa**](dtoa_8c.md#function-_jv_dtoa)
define _dtoa_r [**\_Jv\_dtoa\_r**](dtoa_8c.md#function-_jv_dtoa_r)
define _strtod_r [**\_Jv\_strtod\_r**](mprec_8h.md#function-_jv_strtod_r)
define b2d [**\_Jv\_b2d**](mprec_8c.md#function-_jv_b2d)
define bigtens [**\_Jv\_\_mprec\_bigtens**](mprec_8c.md#variable-_jv__mprec_bigtens)
define cmp [**\_Jv\_\_mcmp**](mprec_8c.md#function-_jv__mcmp)
define d2b [**\_Jv\_d2b**](mprec_8c.md#function-_jv_d2b)
define diff [**\_Jv\_\_mdiff**](mprec_8c.md#function-_jv__mdiff)
define hi0bits [**\_Jv\_hi0bits**](mprec_8c.md#function-_jv_hi0bits)
define i2b [**\_Jv\_i2b**](mprec_8c.md#function-_jv_i2b)
define lo0bits [**\_Jv\_lo0bits**](mprec_8c.md#function-_jv_lo0bits)
define lshift [**\_Jv\_lshift**](mprec_8c.md#function-_jv_lshift)
define mult [**\_Jv\_mult**](mprec_8c.md#function-_jv_mult)
define multadd [**\_Jv\_multadd**](mprec_8c.md#function-_jv_multadd)
define n_bigtens 5
define pow5mult [**\_Jv\_pow5mult**](mprec_8c.md#function-_jv_pow5mult)
define ratio [**\_Jv\_ratio**](mprec_8c.md#function-_jv_ratio)
define rounded_product (a, b) [**a**](broker__monitor_8c.md#function-timeout) \*= b
define rounded_quotient (a, b) [**a**](broker__monitor_8c.md#function-timeout) /= b
define s2b [**\_Jv\_s2b**](mprec_8c.md#function-_jv_s2b)
define tens [**\_Jv\_\_mprec\_tens**](mprec_8c.md#variable-_jv__mprec_tens)
define tinytens [**\_Jv\_\_mprec\_tinytens**](mprec_8c.md#variable-_jv__mprec_tinytens)
define ulp [**\_Jv\_ulp**](mprec_8c.md#function-_jv_ulp)
define word0 (x) ([**x.i**](dynamic__load_8c.md#variable-i)[1])
define word1 (x) ([**x.i**](dynamic__load_8c.md#variable-i)[0])

Public Types Documentation

typedef _Jv_Bigint

typedef struct _Jv_Bigint _Jv_Bigint;

union double_union



Public Attributes Documentation

variable _Jv__mprec_bigtens

const double _Jv__mprec_bigtens[];

variable _Jv__mprec_tens

const double _Jv__mprec_tens[];

variable _Jv__mprec_tinytens

const double _Jv__mprec_tinytens[];

Public Functions Documentation

function _Jv_Balloc

_Jv_Bigint * _Jv_Balloc (
    struct  _Jv_reent * p,
    int k
) 

function _Jv_Bfree

void _Jv_Bfree (
    struct  _Jv_reent * p,
    _Jv_Bigint * v
) 

function _Jv__mcmp

int _Jv__mcmp (
    _Jv_Bigint * a,
    _Jv_Bigint * b
) 

function _Jv__mdiff

_Jv_Bigint * _Jv__mdiff (
    struct  _Jv_reent * p,
    _Jv_Bigint * a,
    _Jv_Bigint * b
) 

function _Jv_b2d

double _Jv_b2d (
    _Jv_Bigint * a,
    int * e
) 

function _Jv_d2b

_Jv_Bigint * _Jv_d2b (
    struct  _Jv_reent * p,
    double d,
    int * e,
    int * bits
) 

function _Jv_dtoa

void _Jv_dtoa (
    double d,
    int mode,
    int ndigits,
    int * decpt,
    int * sign,
    char ** rve,
    char * buf,
    int float_type
) 

function _Jv_dtoa_r

char * _Jv_dtoa_r (
    struct  _Jv_reent * ptr,
    double d,
    int mode,
    int ndigits,
    int * decpt,
    int * sign,
    char ** rve,
    int float_type
) 

function _Jv_hi0bits

int _Jv_hi0bits (
    unsigned  long x
) 

function _Jv_i2b

_Jv_Bigint * _Jv_i2b (
    struct  _Jv_reent * ptr,
    int i
) 

function _Jv_lo0bits

int _Jv_lo0bits (
    unsigned  long * y
) 

function _Jv_lshift

_Jv_Bigint * _Jv_lshift (
    struct  _Jv_reent * p,
    _Jv_Bigint * b,
    int k
) 

function _Jv_mult

_Jv_Bigint * _Jv_mult (
    struct  _Jv_reent * ptr,
    _Jv_Bigint * a,
    _Jv_Bigint * b
) 

function _Jv_multadd

_Jv_Bigint * _Jv_multadd (
    struct  _Jv_reent * p,
    _Jv_Bigint * b,
    int m,
    int a
) 

function _Jv_pow5mult

_Jv_Bigint * _Jv_pow5mult (
    struct  _Jv_reent * ptr,
    _Jv_Bigint * b,
    int k
) 

function _Jv_ratio

double _Jv_ratio (
    _Jv_Bigint * a,
    _Jv_Bigint * b
) 

function _Jv_s2b

_Jv_Bigint * _Jv_s2b (
    struct  _Jv_reent * ptr,
    const  char * s,
    int nd0,
    int nd,
    unsigned  long y9
) 

function _Jv_strtod_r

double _Jv_strtod_r (
    struct  _Jv_reent * ptr,
    const  char * s00,
    char ** se
) 

function _Jv_ulp

double _Jv_ulp (
    double x
) 

Macro Definition Documentation

define Balloc

#define Balloc `_Jv_Balloc`

define Bcopy

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

define Bfree

#define Bfree `_Jv_Bfree`

define Bias

#define Bias `1023`

define Big0

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

define Big1

#define Big1 `(( uint32_t )0xffffffffL)`

define Bletch

#define Bletch `0x10`

define Bndry_mask

#define Bndry_mask `(( uint32_t )0xfffffL)`

define Bndry_mask1

#define Bndry_mask1 `(( uint32_t )0xfffffL)`

define Ebits

#define Ebits `11`

define Emin

#define Emin `(-1022)`

define Exp_1

#define Exp_1 `(( uint32_t )0x3ff00000L)`

define Exp_11

#define Exp_11 `(( uint32_t )0x3ff00000L)`

define Exp_mask

#define Exp_mask `(( uint32_t )0x7ff00000L)`

define Exp_msk1

#define Exp_msk1 `(( uint32_t )0x100000L)`

define Exp_msk11

#define Exp_msk11 `(( uint32_t )0x100000L)`

define Exp_shift

#define Exp_shift `20`

define Exp_shift1

#define Exp_shift1 `20`

define Frac_mask

#define Frac_mask `(( uint32_t )0xfffffL)`

define Frac_mask1

#define Frac_mask1 `(( uint32_t )0xfffffL)`

define IEEE_8087

#define IEEE_8087 

define IEEE_Arith

#define IEEE_Arith 

define Infinite

#define Infinite (
    x
) `( word0 ( x ) == (( uint32_t )0x7ff00000L))  /* sufficient  test  for  here */`

define Int_max

#define Int_max `14`

define LSB

#define LSB `1`

define Log2P

#define Log2P `1`

define MAX_BIGNUMS

#define MAX_BIGNUMS `16`

define MAX_BIGNUM_WDS

#define MAX_BIGNUM_WDS `32`

define PREC

#define PREC `53`

define Pack_32

#define Pack_32 

define Quick_max

#define Quick_max `14`

define Sign_Extend

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

define Sign_bit

#define Sign_bit `(( uint32_t )0x80000000L)`

define Storeinc

#define Storeinc (
    a,
    b,
    c
) `/* multi line expression */`

define Ten_pmax

#define Ten_pmax `22`

define Tiny0

#define Tiny0 `0`

define Tiny1

#define Tiny1 `1`

define _AND

#define _AND `,`

define _CAST_VOID

#define _CAST_VOID `( void )`

define _CONST

#define _CONST `const`

define _DEFUN

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

define _DEFUN_VOID

#define _DEFUN_VOID (
    name
) `name( _NOARGS )`

define _DOTS

#define _DOTS `, ...`

define _EXFUN

#define _EXFUN (
    name,
    proto
) `name proto`

define _NOARGS

#define _NOARGS `void`

define _PTR

#define _PTR `void *`

define _SIGNED

#define _SIGNED `signed`

define _VOID

#define _VOID `void`

define _VOLATILE

#define _VOLATILE `volatile`

define _dtoa

#define _dtoa `_Jv_dtoa`

define _dtoa_r

#define _dtoa_r `_Jv_dtoa_r`

define _strtod_r

#define _strtod_r `_Jv_strtod_r`

define b2d

#define b2d `_Jv_b2d`

define bigtens

#define bigtens `_Jv__mprec_bigtens`

define cmp

#define cmp `_Jv__mcmp`

define d2b

#define d2b `_Jv_d2b`

define diff

#define diff `_Jv__mdiff`

define hi0bits

#define hi0bits `_Jv_hi0bits`

define i2b

#define i2b `_Jv_i2b`

define lo0bits

#define lo0bits `_Jv_lo0bits`

define lshift

#define lshift `_Jv_lshift`

define mult

#define mult `_Jv_mult`

define multadd

#define multadd `_Jv_multadd`

define n_bigtens

#define n_bigtens `5`

define pow5mult

#define pow5mult `_Jv_pow5mult`

define ratio

#define ratio `_Jv_ratio`

define rounded_product

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

define rounded_quotient

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

define s2b

#define s2b `_Jv_s2b`

define tens

#define tens `_Jv__mprec_tens`

define tinytens

#define tinytens `_Jv__mprec_tinytens`

define ulp

#define ulp `_Jv_ulp`

define word0

#define word0 (
    x
) `( x.i [1])`

define word1

#define word1 (
    x
) `( x.i [0])`


The documentation for this class was generated from the following file cubrid/src/base/mprec.h