comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@merv.cs.nyu.edu (Robert Dewar)
Subject: Re: The disturbing myth of Eiffel portability
Date: 1996/11/19
Date: 1996-11-19T00:00:00+00:00	[thread overview]
Message-ID: <dewar.848444338@merv> (raw)
In-Reply-To: 56t1m4$nis@bcrkh13.bnr.ca


Kaz says

"Any computer scientist worth his salt knows that floating point numbers are
only approximations of real quantities. Well written numerical analysis code
takes this into consideration, and can be made portable.

You cannot expect bit for bit equality from portable floating point code, but
you can write the program in such a way that it will produce well-behaved
approximations, and so that it will produce better and better approximations on
more and more capable numerical processors.   The fact is that forcing each
implementation of a language to do floating point math precisely the same way
is completey impractical, because it would impose a *huge* performance hit
which is often not acceptable in number crunching."


Many computer scientists have this view of floating-point, but at least in
the IEEE world, this is an incorrect view. IEEE arithmetic is NOT an
approximation of real arithmetic, but rather an EXACT implementation of
a very well defined arithmetic, whose axioms are well understood. 

The idea that it is wrong to test for exact equality is quite incorrect,
there are many algorithms where it is perfectly legitimate to test for
exact equality if you know you are dealing with IEEE arithmetic.

This *huge* performance hit occurs on fewer and fewer machines, nearly all
machines now support IEEE arithmetic, and the decision to require this
semantis in Java represents a final nail in the coffin for weird (and often
badly designed) non-IEEE arithmetic systems. 





  reply	other threads:[~1996-11-19  0:00 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-11-15  0:00 The disturbing myth of Eiffel portability The Rt Rev'd Colin James III, KOTM 1/96
1996-11-17  0:00 ` Lawrence Kirby
1996-11-17  0:00 ` The Rt Rev'd Colin James III, KOTM 1/96
1996-11-18  0:00   ` James Youngman
1996-11-20  0:00     ` Piercarlo Grandi
1996-11-21  0:00       ` Paul Johnson
1996-11-27  0:00         ` Piercarlo Grandi
1996-11-28  0:00           ` Don Harrison
1996-11-29  0:00             ` Piercarlo Grandi
1996-11-29  0:00               ` Robert Dewar
1996-11-29  0:00               ` Robert Dewar
1996-11-29  0:00             ` Piercarlo Grandi
1996-11-29  0:00               ` Don Harrison
1996-11-30  0:00                 ` Piercarlo Grandi
1996-12-01  0:00                 ` Jon S Anthony
1996-12-02  0:00                   ` Piercarlo Grandi
1996-11-20  0:00   ` Jeff Miller
1996-11-20  0:00     ` Piercarlo Grandi
1996-11-17  0:00 ` Eoin Woods
1996-11-18  0:00 ` Stephen J Bevan
1996-11-19  0:00 ` Kaz Kylheku
1996-11-19  0:00   ` Robert Dewar [this message]
1996-11-20  0:00     ` Larry Kilgallen
1996-11-21  0:00       ` Robert Dewar
1996-11-22  0:00         ` Larry Kilgallen
1996-11-22  0:00           ` Robert Dewar
1996-12-01  0:00             ` Graham C. Hughes
1996-12-01  0:00               ` Robert Dewar
1996-12-02  0:00                 ` Brian R. Hanson
1996-12-06  0:00                   ` Robert Dewar
1996-12-09  0:00                     ` Brian R. Hanson
1996-11-26  0:00         ` Van Snyder
1996-11-22  0:00       ` Ken Garlington
1996-11-25  0:00         ` Robert Dewar
1996-11-20  0:00     ` Matt Kennel
1996-11-22  0:00       ` Robert Dewar
1996-11-21  0:00     ` Francois Labreque
1996-11-21  0:00       ` Kaz Kylheku
1996-11-24  0:00       ` Robert Dewar
1996-11-21  0:00     ` Keith Thompson
1996-11-21  0:00       ` Robert Dewar
1996-11-22  0:00       ` Norman H. Cohen
1996-11-24  0:00       ` Lawrence Kirby
1996-11-20  0:00   ` James Mansion
1996-11-20  0:00     ` Kaz Kylheku
1996-11-25  0:00   ` Joachim Durchholz
1996-11-26  0:00     ` Lawrence Kirby
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox