Re: ver 1.9.4 use more decimal digits



On Mon, 2009-03-02 at 07:57 +0800, bill lam wrote:
On Sun, 01 Mar 2009, Morten Welinder wrote:
After upgraded to 1.9.4. Diff the gnumeric file with the previous
1.8.3

This is deliberate.  We need to store enough decimals to ensure
that the number we had will come back unchanged.  The number

This is incorrect. The number pairs have the same bit pattern using
ieee 754 standard so that they are equal.

The ieee 754 does _not_describe a single bit pattern for every number.
You can't even decide whether a number is representable or not in ieee
754 unless you also specify whether you are using ieee 754 single,
double, double extended,... 

Merely adding more digits
does no increase the accuracy.

Adding more digits in the stored number allows transfer of these files
from one instance of gnumeric to another that uses a differnet size of
ieee 754 floating point number.
  
 There is an article by Kahn who is the
driving force behind the IEEE 754 standard, and he got the Turing
Award in 1989 for his work on numerical analysis.

How Java's Floating-Point Hurts Everyone Everywhere
by W. Kahan and J. D. Darcy (March 1998)

http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf

The last page "Accuracy < Precision"

From what I can see in your message, previous versions did not
deliberately find the minimum digit representation of floating point
number within the limit of ieee 754 standard.

Of course not. Especially since there is no such thing as a "minimum
digit representation of floating point number within the limit of ieee
754 standard" unless you also specify the size of floating point number.

Andreas

-- 
Andreas J. Guelzow <aguelzow pyrshep ca>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]