Embedded Artistry libc
C Standard Library Support for Bare-metal Systems
|
#include "gdtoaimp.h"
Go to the source code of this file.
Macros | |
#define | PRIVATE_MEM 2304 |
#define | PRIVATE_mem ((PRIVATE_MEM + sizeof(double) - 1) / sizeof(double)) |
#define | d0 word0(d) |
#define | d1 word1(d) |
#define | d0 word0(d) |
#define | d1 word1(d) |
Functions | |
Bigint * | Balloc (int k) |
void | Bfree (Bigint *v) |
int | lo0bits (ULong *y) |
Bigint * | multadd (Bigint *b, int m, int a) |
int | hi0bits_D2A (register ULong x) |
Bigint * | i2b (int i) |
Bigint * | mult (Bigint *a, Bigint *b) |
Bigint * | pow5mult (Bigint *b, int k) |
Bigint * | lshift (Bigint *b, int k) |
int | cmp (Bigint *a, Bigint *b) |
Bigint * | diff (Bigint *a, Bigint *b) |
double | b2d (Bigint *a, int *e) |
Bigint * | d2b (double d, int *e, int *bits) |
char * | strcp_D2A (char *a, CONST char *b) |
Variables | |
static Bigint * | freelist [Kmax+1] |
static double | private_mem [PRIVATE_mem] |
static double * | pmem_next = private_mem |
static Bigint * | p5s |
CONST double | bigtens [] = {1e16, 1e32} |
CONST double | tinytens [] = {1e-16, 1e-32} |
CONST double | tens [] |
#define d0 word0(d) |
#define d0 word0(d) |
#define d1 word1(d) |
#define d1 word1(d) |
#define PRIVATE_mem ((PRIVATE_MEM + sizeof(double) - 1) / sizeof(double)) |
double b2d | ( | Bigint * | a, |
int * | e | ||
) |
Bigint* Balloc | ( | int | k | ) |
Definition at line 47 of file misc.c.
References ACQUIRE_DTOA_LOCK, FREE_DTOA_LOCK, freelist, Bigint::k, MALLOC, Bigint::maxwds, Bigint::next, pmem_next, PRIVATE_mem, private_mem, Bigint::sign, and Bigint::wds.
Referenced by bitstob(), d2b(), diff(), dtoa(), gdtoa(), gethex(), i2b(), increment(), lshift(), mult(), multadd(), rv_alloc(), s2b(), set_ones(), strtod(), strtodg(), strtoId(), strtoIdd(), strtoIf(), strtoIg(), strtoIQ(), strtoIx(), strtoIxL(), and sum().
void Bfree | ( | Bigint * | v | ) |
Definition at line 92 of file misc.c.
References ACQUIRE_DTOA_LOCK, FREE_DTOA_LOCK, and freelist.
Referenced by dtoa(), freedtoa(), g_ddfmt(), gdtoa(), gethex(), increment(), lshift(), multadd(), pow5mult(), rvOK(), set_ones(), strtod(), strtodg(), strtoId(), strtoIdd(), strtoIf(), strtoIQ(), strtoIx(), strtoIxL(), and sum().
Bigint* d2b | ( | double | d, |
int * | e, | ||
int * | bits | ||
) |
Bigint* i2b | ( | int | i | ) |
Definition at line 271 of file misc.c.
References Balloc(), Bigint::wds, and Bigint::x.
Referenced by dtoa(), gdtoa(), pow5mult(), strtod(), and strtodg().
int lo0bits | ( | ULong * | y | ) |
Definition at line 287 of file misc.c.
References Balloc(), Bigint::k, Bigint::maxwds, Storeinc, UL, ULLong, Bigint::wds, and Bigint::x.
Referenced by dtoa(), gdtoa(), pow5mult(), strtod(), and strtodg().
Definition at line 171 of file misc.c.
References Balloc(), Bcopy, Bfree(), Bigint::k, Bigint::maxwds, UL, ULLong, Bigint::wds, and Bigint::x.
Referenced by dtoa(), gdtoa(), pow5mult(), and s2b().
Definition at line 420 of file misc.c.
References ACQUIRE_DTOA_LOCK, Bfree(), FREE_DTOA_LOCK, i2b(), mult(), multadd(), Bigint::next, and p5s.
char* strcp_D2A | ( | char * | a, |
CONST char * | b | ||
) |
|
static |
Definition at line 413 of file misc.c.
Referenced by pow5mult().
|
static |
|
static |
CONST double tens[] |