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




Reply via email to