|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [PATCH] qemu: json: Fix parsing of integers >= 0x8000000000000000 |
Date: | Mon, 23 May 2011 10:07:21 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10 |
On 05/23/2011 09:29 AM, Markus Armbruster wrote:
Anthony Liguori<address@hidden> 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
[Prev in Thread] | Current Thread | [Next in Thread] |