Hi Leonard,

On Friday, 2008-07-04 03:07:04 +0300, Leonard Mada wrote:

> Well, 15-digits might have been intended behaviour in the '70s, but is  
> hardly appropriate in 2008.

IEEE 754 double did not change.

> I am really amazed, that programs still cling to 15-digits. Well, the  
> 64-bit double precision might limit calculations to ~16-digits, but  
> professional programs should do better. Even MS Windows calculator  
> ouperforms both Excel and Calc (as the previous article states).

So what? Comparing apples (e.g. BCD arithmetic or IEEE 854) with oranges
(IEEE 754) does not help at all. I assume you do not want Calc to use
BCD or other arbitrary precision instead of floating point at the cost
of multiples of calculation time?

> I sincerely hope that OOo increases the precision, at least if an  
> operation overflows, Calc should increase the precision to 24-32 digits.  
> [Most existent processor designs implement the IEEE754 Exceptions,  
> including the OVERFLOW exception, therefore it is possible to catch such  
> an overflow. In this case, Calc should either display a warning that the  
> result is wrong - and offer a robust calculation mode, or just use a  
> greater precision. Hiding the error is not very rational.]

Detecting overflows doesn't help against roundoff errors.

> And there are many other issues. Floating points spring undoubtedly to  
> mind. I hope that the floating point arithmetic improves drastically, 
> too.

With IEEE 754 most improvement is about curing symptoms and cheating the
user because she expects 0.3-0.2-0.1 to equal 0.0

> I advise the interested reader to read some of Kahan's papers, see:
> http://www.cs.berkeley.edu/~wkahan/
> [e.g. http://www.cs.berkeley.edu/~wkahan/Mindless.pdf]
> [Kahan is the architect of IEEE 754 - he is also known as "The Father of  
> Floating Point".]

Well, yes, nice read, it states what can go wrong and at the end the
best solution is he hopes "that popular programming languages will
support Interval Arithmetic of arbitrarily high (within limits)
precision variable (coarsely) at run-time. Then programmers may use it
to prove most of their numerical software free from roundoff-induced
anomalies even if it runs sometimes slower than usual."

I don't see where we'd currently benefit, but maybe I browsed too
quickly.

For the interested reader:

Numerical Computation Guide
http://docs.sun.com/source/819-3693/index.html
    2005, Sun Microsystems Studio 11.

What Every Computer Scientist Should Know About Floating-Point
Arithmetic
http://docs.sun.com/source/819-0499/ncg_goldberg.html
    Appendix D of the Numerical Computation Guide.

Numerical Computation Guide
http://docs.sun.com/source/806-3568/index.html
    2002, may be better suited for high resolution displays,
    mathematical formulas have better readable graphic images.


  Eike

-- 
 OOo/SO Calc core developer. Number formatter stricken i18n transpositionizer.
 SunSign   0x87F8D412 : 2F58 5236 DB02 F335 8304  7D6C 65C9 F9B5 87F8 D412
 OpenOffice.org Engineering at Sun: http://blogs.sun.com/GullFOSS
 Please don't send personal mail to the [EMAIL PROTECTED] account, which I use 
for
 mailing lists only and don't read from outside Sun. Use [EMAIL PROTECTED] 
Thanks.

Attachment: pgpFmbQmbedz1.pgp
Description: PGP signature

Reply via email to