I didn't finish a broader point but when considering this:

   Or, slightly different, the bytes in a JSON serialized
   number are chosen such that they refer to a single specific
   value that a double can represent.

The important point to understand is that we're mapping from one
infinite set onto a finite set. An easy way to see this is by
reflecting on this:

1.0 == 1.00 == 1.000 = 1.(infinite zeroes)

Obviously a computer can't hold infinite bytes (as much as my
sister-in-law wishes for those pictures of my nephew) so we have to
decimate our infinitely sized set to a finite set that can be
represented concisely.

On Tue, Feb 19, 2013 at 9:01 PM, Jens Alfke <[email protected]> wrote:
>
> On Feb 19, 2013, at 12:46 PM, Luca Morandini <[email protected]> wrote:
>
>> Well, there it goes my academic track paper on CouchDB and GeoCouch for 
>> FOSS4G '13 :(
>
> Are roundoff errors on the order of one part in 2^56 really a deal-breaker 
> for your application? I mean, “17.300000000000000711” does _look_ ugly 
> compared to “17.3”, but the difference is completely negligible for most 
> purposes. Have you worked out how many significant figures of accuracy you 
> need, and are the results correct to within those significant figures?
>
> —Jens

Reply via email to