mirror of
https://github.com/stedolan/jq.git
synced 2024-05-11 05:55:39 +00:00
66fd702363
- Change memory allocation to thread a context structure through the code rather than using globals (which would require a -lpthread and some locking to become threadsafe). - Remove a few configuration options (the "private memory" space, and K&R style headers). - Prefix exported symbols with jvp_ to prevent libc conflicts. - Add jvp_dtoa.h - Include netlib's g_fmt.c into dtoa.c - Add a few not-strictly-necessary initialisations in order to compile cleanly with gcc -Wall
21 lines
561 B
C
21 lines
561 B
C
|
|
#define Kmax 7
|
|
|
|
struct Bigint;
|
|
struct dtoa_context {
|
|
struct Bigint *freelist[Kmax+1];
|
|
struct Bigint *p5s;
|
|
};
|
|
|
|
void jvp_dtoa_context_init(struct dtoa_context* ctx);
|
|
void jvp_dtoa_context_free(struct dtoa_context* ctx);
|
|
|
|
double jvp_strtod(struct dtoa_context* C, const char* s, char** se);
|
|
|
|
|
|
char* jvp_dtoa(struct dtoa_context* C, double dd, int mode, int ndigits, int *decpt, int *sign, char **rve);
|
|
void jvp_freedtoa(struct dtoa_context* C, char *s);
|
|
|
|
#define JVP_DTOA_FMT_MAX_LEN 32
|
|
char* jvp_dtoa_fmt(struct dtoa_context* C, register char *b, double x);
|