|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
#include "gd_qnan.h"#include "gdtoa.h"#include "stdlib.h"#include "string.h"#include "errno.h"#include "float.h"#include "math.h"

Classes | |
| union | U |
| struct | Bigint |
Macros | |
| #define | Char void |
| #define | MALLOC malloc |
| #define | word0(x) ((U*)&x)->L[0] |
| #define | word1(x) ((U*)&x)->L[1] |
| #define | dval(x) ((U*)&x)->d |
| #define | Storeinc(a, b, c) (((unsigned short*)a)[0] = (unsigned short)b, ((unsigned short*)a)[1] = (unsigned short)c, a++) |
| #define | Sudden_Underflow |
| #define | Flt_Rounds 1 |
| #define | Exp_shift 23 |
| #define | Exp_shift1 7 |
| #define | Exp_msk1 0x80 |
| #define | Exp_msk11 0x800000 |
| #define | Exp_mask 0x7f80 |
| #define | P 56 |
| #define | Bias 129 |
| #define | Exp_1 0x40800000 |
| #define | Exp_11 0x4080 |
| #define | Ebits 8 |
| #define | Frac_mask 0x7fffff |
| #define | Frac_mask1 0xffff007f |
| #define | Ten_pmax 24 |
| #define | Bletch 2 |
| #define | Bndry_mask 0xffff007f |
| #define | Bndry_mask1 0xffff007f |
| #define | LSB 0x10000 |
| #define | Sign_bit 0x8000 |
| #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 0xffffffff |
| #define | Pack_32 |
| #define | Llong long long |
| #define | ULLong unsigned Llong |
| #define | ULbits 32 |
| #define | kshift 5 |
| #define | kmask 31 |
| #define | ALL_ON 0xffffffff |
| #define | ACQUIRE_DTOA_LOCK(n) /*nothing*/ |
| #define | FREE_DTOA_LOCK(n) /*nothing*/ |
| #define | Kmax 15 |
| #define | Bcopy(x, y) memcpy(&x->sign, &y->sign, (size_t)(y->wds) * sizeof(ULong) + 2 * sizeof(int)) |
| #define | Balloc Balloc_D2A |
| #define | Bfree Bfree_D2A |
| #define | ULtoQ ULtoQ_D2A |
| #define | ULtof ULtof_D2A |
| #define | ULtod ULtod_D2A |
| #define | ULtodd ULtodd_D2A |
| #define | ULtox ULtox_D2A |
| #define | ULtoxL ULtoxL_D2A |
| #define | any_on any_on_D2A |
| #define | b2d b2d_D2A |
| #define | bigtens bigtens_D2A |
| #define | cmp cmp_D2A |
| #define | copybits copybits_D2A |
| #define | d2b d2b_D2A |
| #define | decrement decrement_D2A |
| #define | diff diff_D2A |
| #define | dtoa_result dtoa_result_D2A |
| #define | g__fmt g__fmt_D2A |
| #define | gethex gethex_D2A |
| #define | hexdig hexdig_D2A |
| #define | hexnan hexnan_D2A |
| #define | hi0bits(x) hi0bits_D2A((ULong)(x)) |
| #define | i2b i2b_D2A |
| #define | increment increment_D2A |
| #define | lo0bits lo0bits_D2A |
| #define | lshift lshift_D2A |
| #define | match match_D2A |
| #define | mult mult_D2A |
| #define | multadd multadd_D2A |
| #define | nrv_alloc nrv_alloc_D2A |
| #define | pow5mult pow5mult_D2A |
| #define | quorem quorem_D2A |
| #define | ratio ratio_D2A |
| #define | rshift rshift_D2A |
| #define | rv_alloc rv_alloc_D2A |
| #define | s2b s2b_D2A |
| #define | set_ones set_ones_D2A |
| #define | strcp strcp_D2A |
| #define | strtoIg strtoIg_D2A |
| #define | sum sum_D2A |
| #define | tens tens_D2A |
| #define | tinytens tinytens_D2A |
| #define | tinytens tinytens_D2A |
| #define | trailz trailz_D2A |
| #define | ulp ulp_D2A |
| #define | SI 1 |
Typedefs | |
| typedef struct Bigint | Bigint |
Functions | |
| Bigint *Balloc | ANSI ((int)) |
| void Bfree | ANSI ((Bigint *)) |
| void ULtof | ANSI ((ULong *, const ULong *, Long, int)) |
| void ULtodd | ANSI ((ULong *, ULong *, Long, int)) |
| void ULtox | ANSI ((UShort *, const ULong *, Long, int)) |
| ULong any_on | ANSI ((Bigint *, int)) |
| double b2d | ANSI ((Bigint *, int *)) |
| int cmp | ANSI ((Bigint *, Bigint *)) |
| void copybits | ANSI ((ULong *, int, Bigint *)) |
| Bigint *d2b | ANSI ((double, int *, int *)) |
| char *dtoa | ANSI ((double d, int mode, int ndigits, int *decpt, int *sign, char **rve)) |
| char *g__fmt | ANSI ((char *, char *, const char *, int, ULong)) |
| int gethex | ANSI ((CONST char **, FPI *, Long *, Bigint **, int)) |
| void | hexdig_init_D2A (Void) |
| int hexnan | ANSI ((CONST char **, FPI *, ULong *)) |
| int hi0bits_D2A | ANSI ((ULong)) |
| int lo0bits | ANSI ((ULong *)) |
| int match | ANSI ((CONST char **, char *)) |
| Bigint *multadd | ANSI ((Bigint *, int, int)) |
| char *nrv_alloc | ANSI ((char *, char **, int)) |
| Bigint *s2b | ANSI ((CONST char *, int, int, ULong)) |
| char *strcp | ANSI ((char *, const char *)) |
| int strtoIg | ANSI ((CONST char *, char **, FPI *, Long *, Bigint **, int *)) |
| double strtod | ANSI ((const char *s00, char **se)) |
| double ulp | ANSI ((double)) |
Variables | |
| Exactly one of | IEEE_8087 |
| Exactly one of | IEEE_MC68k |
| Exactly one of | VAX |
| char * | dtoa_result |
| CONST double | bigtens [] |
| CONST double | tens [] |
| CONST double | tinytens [] |
| unsigned char | hexdig [] |
| union U |
| Class Members | ||
|---|---|---|
| double | d | |
| ULong | L[2] | |
| #define ACQUIRE_DTOA_LOCK | ( | n | ) | /*nothing*/ |
| #define ALL_ON 0xffffffff |
| #define any_on any_on_D2A |
| #define b2d b2d_D2A |
| #define Balloc Balloc_D2A |
| #define Bcopy | ( | x, | |
| y | |||
| ) | memcpy(&x->sign, &y->sign, (size_t)(y->wds) * sizeof(ULong) + 2 * sizeof(int)) |
| #define Bfree Bfree_D2A |
| #define Bias 129 |
| #define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1)) |
| #define Big1 0xffffffff |
| #define bigtens bigtens_D2A |
| #define Bletch 2 |
| #define Bndry_mask 0xffff007f |
| #define Bndry_mask1 0xffff007f |
| #define Char void |
| #define cmp cmp_D2A |
| #define copybits copybits_D2A |
| #define d2b d2b_D2A |
| #define decrement decrement_D2A |
| #define diff diff_D2A |
| #define dtoa_result dtoa_result_D2A |
| #define dval | ( | x | ) | ((U*)&x)->d |
| #define Ebits 8 |
| #define Exp_1 0x40800000 |
| #define Exp_11 0x4080 |
| #define Exp_mask 0x7f80 |
| #define Exp_msk1 0x80 |
| #define Exp_msk11 0x800000 |
| #define Exp_shift 23 |
| #define Exp_shift1 7 |
| #define Flt_Rounds 1 |
| #define Frac_mask 0x7fffff |
| #define Frac_mask1 0xffff007f |
| #define FREE_DTOA_LOCK | ( | n | ) | /*nothing*/ |
| #define g__fmt g__fmt_D2A |
| #define gethex gethex_D2A |
| #define hexdig hexdig_D2A |
| #define hexnan hexnan_D2A |
| #define hi0bits | ( | x | ) | hi0bits_D2A((ULong)(x)) |
| #define i2b i2b_D2A |
| #define increment increment_D2A |
| #define Int_max 15 |
| #define kmask 31 |
| #define Kmax 15 |
| #define kshift 5 |
| #define Llong long long |
| #define lo0bits lo0bits_D2A |
| #define Log2P 1 |
| #define LSB 0x10000 |
| #define lshift lshift_D2A |
| #define MALLOC malloc |
| #define match match_D2A |
| #define mult mult_D2A |
| #define multadd multadd_D2A |
| #define nrv_alloc nrv_alloc_D2A |
| #define P 56 |
| #define Pack_32 |
| #define pow5mult pow5mult_D2A |
| #define Quick_max 15 |
| #define quorem quorem_D2A |
| #define ratio ratio_D2A |
| #define ROUND_BIASED |
| #define rshift rshift_D2A |
| #define rv_alloc rv_alloc_D2A |
| #define s2b s2b_D2A |
| #define set_ones set_ones_D2A |
| #define SI 1 |
| #define Sign_bit 0x8000 |
| #define Storeinc | ( | a, | |
| b, | |||
| c | |||
| ) | (((unsigned short*)a)[0] = (unsigned short)b, ((unsigned short*)a)[1] = (unsigned short)c, a++) |
| #define strcp strcp_D2A |
| #define strtoIg strtoIg_D2A |
| #define Sudden_Underflow |
| #define sum sum_D2A |
| #define Ten_pmax 24 |
| #define tens tens_D2A |
| #define Tiny0 0x80 |
| #define Tiny1 0 |
| #define tinytens tinytens_D2A |
| #define tinytens tinytens_D2A |
| #define trailz trailz_D2A |
| #define ULbits 32 |
| #define ULLong unsigned Llong |
| #define ulp ulp_D2A |
| #define ULtod ULtod_D2A |
| #define ULtodd ULtodd_D2A |
| #define ULtof ULtof_D2A |
| #define ULtoQ ULtoQ_D2A |
| #define ULtox ULtox_D2A |
| #define ULtoxL ULtoxL_D2A |
| #define word0 | ( | x | ) | ((U*)&x)->L[0] |
| #define word1 | ( | x | ) | ((U*)&x)->L[1] |
| char *rv_alloc ANSI | ( | (int) | ) |
| char* dtoa ANSI | ( | (double d, int mode, int ndigits, int *decpt, int *sign, char **rve) | ) |
| int hi0bits_D2A ANSI | ( | (ULong) | ) |
| char* nrv_alloc ANSI | ( | (char *, char **, int) | ) |
| char* strcp ANSI | ( | (char *, const char *) | ) |
| double strtod ANSI | ( | (const char *s00, char **se) | ) |
| double ulp ANSI | ( | (double) | ) |
| void hexdig_init_D2A | ( | Void | ) |
| CONST double bigtens[] |
| char* dtoa_result |
Referenced by freedtoa(), and rv_alloc().
| unsigned char hexdig[] |
Referenced by hexdig_init_D2A().
| Exactly one of IEEE_8087 |
| Exactly one of IEEE_MC68k |
| CONST double tens[] |
| CONST double tinytens[] |
| Exactly one of VAX |
1.8.15