This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Will, many thanks for doing this! I'll do a detailed review of this later today or tomorrow if nobody else gets to it. On Tue, Apr 08, 2014 at 11:36:17AM +0200, Florian Weimer wrote: > On 04/08/2014 11:28 AM, Will Newton wrote: > > >+void > >+json_attr_double (json_ctx_t *ctx, const char *name, double d) > >+{ > >+ if (!ctx->first_element) > >+ { > >+ fprintf (ctx->fp, ",\n"); > >+ } > >+ > >+ ctx->first_element = false; > >+ > >+ do_indent (ctx); > >+ > >+ fprintf (ctx->fp, "\"%s\": %g", name, d); > >+} > > Since you posted this, I have to ask: Is there are concise way to implement > this correctly, preserving the actual value of d in the output? I guess the only way to preserve the exact value of d would be to write out the actual memory contents. In most cases this would be in the IEEE754 double format. So for a generic JSON library, they would use uint64_t for double and actually do the conversion when they serialize or de-serialize. Siddhesh
Attachment:
pgpEn7UotTZdg.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |