On 05/23/2011 09:29 AM, Markus Armbruster wrote:
Anthony Liguori<anth...@codemonkey.ws> writes:
JavaScript's implementation of JSON sets limits on the range of numbers,
namely they need to fit into IEEE doubles.
Our implementation sets different limits. IIRC, it's something like
"numbers with a fractional part or an exponent need to fit into IEEE
doubles, anything else into int64_t." Not exactly the acme of elegance,
either. But it works for us.
In order to be compatible with JavaScript (which I think is necessary to
really satisfy the spec), we just need to make sure that our integers
are represented by at least 53-bits (to enable signed integers) and
critically, fall back to floating point representation to ensure that we
round instead of truncate.
Regards,
Anthony Liguori