From: "Bob Binder (remove .mapson to email)" <rbinder@rbsc.mapson.com>
Subject: Re: floating point comparison
Date: 1997/07/31
Date: 1997-07-31T00:00:00+00:00 [thread overview]
Message-ID: <01bc9dca$762b6000$e1e989cc@gort> (raw)
In-Reply-To: mheaney-ya023680003007972240570001@news.ni.net
Matthew Heaney <mheaney@ni.net> wrote in article
<mheaney-ya023680003007972240570001@news.ni.net>...
> In article <dewar.870304869@merv>, dewar@merv.cs.nyu.edu (Robert Dewar) wrote:
>
>
> >As for when it makes sense to compare floating-point values for equality,
> >that is a matter for the programmer to understand. Floating-point arithmetic
> >on modern IEEE machines is not some kind of approximate hocus-pocus, it
> >is a well defined arithmetic systenm, with well defined, well behaved
> >results, in which equality has a perfectly reasonable meaning.
>
> OK, so if do this
>
> declare
> m1, m2 : slope;
> begin
> if m1 = m2 then
>
> and I'm using IEEE floating point types (I'm on a SUN box), can I assume
> that the lines are parallel?
Assuming = is the equality operator (not assignment), and something
has placed *exactly* equal values in m1 and m2 before the compare,
then they'll compare equal.
But this isn't the source of the problem.
I haven't followed the IEEE fp standard, but I can't imagine how
(without resorting to some kind of BCD representation) any floating
point scheme using a non-decimal radix gets around the fundamental fact
that there are non-terminal fractions in this radix which are not
non-terminal in a decimal radix.
Try this:
x, y float;
x = 1.0;
y = (x/10.0)*10.0;
if x == y {
// not likely }
else {
// more likely
};
E.g., with a hexadecimal fraction representation, there is no exact
representation for 0.1, just at there is no exact decimal
representation of 1/3. In all the Fortans I used, the above hack
would show this. Unless your compiler designers have compensated
for this, the above (or another suitably choosen constant) will
demonstrate this mismatch.
--
______________________________________________________________________________
Bob Binder http://www.rbsc.com RBSC Corporation
312 214-3280 tel Software Engineering 3 First National Plaza
312 214-3110 fax Process Improvement Suite 1400
rbinder@rbsc.mapson.com (remove .mapson to mail) Chicago, IL 60602-4205
next prev parent reply other threads:[~1997-07-31 0:00 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-07-29 0:00 floating point comparison Matthew Heaney
1997-07-30 0:00 ` Jan Galkowski
1997-07-31 0:00 ` Don Taylor
1997-07-31 0:00 ` Russ Lyttle
1997-08-01 0:00 ` W. Wesley Groleau x4923
1997-08-02 0:00 ` Robert Dewar
1997-08-02 0:00 ` Matthew Heaney
1997-08-03 0:00 ` Robert Dewar
1997-08-04 0:00 ` W. Wesley Groleau x4923
1997-08-05 0:00 ` Jan-Christoph Puchta
1997-08-05 0:00 ` W. Wesley Groleau x4923
1997-08-05 0:00 ` Samuel Mize
1997-08-06 0:00 ` Chris L. Kuszmaul
1997-08-07 0:00 ` Dave Sparks
1997-08-08 0:00 ` Jan-Christoph Puchta
1997-08-09 0:00 ` Robert Dewar
1997-08-10 0:00 ` Lynn Killingbeck
1997-08-08 0:00 ` Mark Eichin
1997-08-08 0:00 ` Robert Dewar
[not found] ` <5sbb90$qsc@redtail.cruzio.com>
[not found] ` <5scugs$jdc$1@cnn.nas.nasa.gov>
1997-08-07 0:00 ` Robert Dewar
1997-08-08 0:00 ` Gerhard Heinzel
1997-08-08 0:00 ` Daniel Villeneuve
1997-08-08 0:00 ` schlafly
1997-08-09 0:00 ` Robert Dewar
1997-08-09 0:00 ` David Ullrich
1997-08-10 0:00 ` Robert Dewar
1997-08-16 0:00 ` Andrew V. Nesterov
1997-08-18 0:00 ` Robert Dewar
1997-08-19 0:00 ` Jim Carr
1997-08-21 0:00 ` Christian Bau
1997-08-21 0:00 ` Jim Carr
1997-08-21 0:00 ` Robert Dewar
1997-08-22 0:00 ` Jim Carr
1997-08-22 0:00 ` Robert Dewar
1997-08-23 0:00 ` Jim Carr
1997-08-24 0:00 ` Robert Dewar
1997-08-29 0:00 ` Andrew V. Nesterov
1997-08-29 0:00 ` Robert Dewar
[not found] ` <340DF1DD.2736@iop.com>
1997-09-07 0:00 ` Get_Immediate Robert Dewar
1997-09-07 0:00 ` Get_Immediate Robert Dewar
1997-09-08 0:00 ` Get_Immediate J Giffen
[not found] ` <5u4eq6$30b$1@news.lth.se>
1997-08-29 0:00 ` floating point comparison Robert Dewar
1997-09-01 0:00 ` Chris RL Morgan
1997-09-01 0:00 ` Jim Carr
[not found] ` <checkerEFx6xI.FCM@netcom.com>
1997-09-03 0:00 ` Chris L. Kuszmaul
1997-09-05 0:00 ` Malome Khomo
1997-09-07 0:00 ` Robert Dewar
1997-09-05 0:00 ` Robert Dewar
1997-09-10 0:00 ` Jim Carr
1997-09-12 0:00 ` Robert Dewar
1997-09-15 0:00 ` James Pauley
1997-09-16 0:00 ` Robert Dewar
1997-08-23 0:00 ` W. Wesley Groleau x4923
1997-08-23 0:00 ` Robert Dewar
1997-08-19 0:00 ` Hans Olsson
1997-08-30 0:00 ` Paul Eggert
1997-08-06 0:00 ` Robert Dewar
1997-08-07 0:00 ` Shmuel (Seymour J.) Metz
1997-08-08 0:00 ` Peter Shenkin
1997-08-09 0:00 ` Albert Y.C. Lai
1997-08-06 0:00 ` Robert Dewar
1997-08-07 0:00 ` Dr. Rex A. Dwyer
[not found] ` <33E8DFF6.6F44@pseserv3.fw.hac.com>
1997-08-07 0:00 ` Robert Dewar
[not found] ` <33EA1251.3466@link.com>
[not found] ` <33EA46CC.226@pseserv3.fw.hac.com>
1997-08-08 0:00 ` Christian Bau
1997-08-12 0:00 ` Martin Tom Brown
1997-08-23 0:00 ` W. Wesley Groleau x4923
1997-08-23 0:00 ` Robert Dewar
1997-09-05 0:00 ` Robert I. Eachus
1997-09-06 0:00 ` schlafly
1997-09-09 0:00 ` Robert Dewar
1997-09-07 0:00 ` M. J. Saltzman
1997-09-11 0:00 ` Robin Rosenberg
1997-08-06 0:00 ` Robert Dewar
[not found] ` <33E8E3E1.17EA@pseserv3.fw.hac.com>
[not found] ` <5sbgpk$q0n$1@goanna.cs.rmit.edu.au>
1997-08-07 0:00 ` Robert Dewar
[not found] ` <33FE4603.1B6B@pseserv3.fw.hac.com>
1997-08-23 0:00 ` Robert Dewar
1997-08-08 0:00 ` W. Wesley Groleau x4923
1997-08-07 0:00 ` Do-While Jones
1997-08-03 0:00 ` Brian Rogoff
1997-08-03 0:00 ` Robert Dewar
1997-07-30 0:00 ` Robert Dewar
1997-07-30 0:00 ` Matthew Heaney
1997-07-31 0:00 ` Jim Carr
1997-07-30 0:00 ` Matthew Heaney
1997-07-31 0:00 ` Martin Tom Brown
1997-07-31 0:00 ` Bob Binder (remove .mapson to email) [this message]
1997-07-31 0:00 ` Robert Dewar
1997-08-01 0:00 ` Dale Stanbrough
1997-08-04 0:00 ` Paul Eggert
1997-08-06 0:00 ` Robert Dewar
1997-08-14 0:00 ` Paul Eggert
1997-08-01 0:00 ` user
1997-08-02 0:00 ` Peter L. Montgomery
1997-08-04 0:00 ` W. Wesley Groleau x4923
1997-08-05 0:00 ` Bob Binder (remove .mapson to email)
1997-08-02 0:00 ` Lynn Killingbeck
1997-08-03 0:00 ` Robert Dewar
1997-08-03 0:00 ` Bob Binder (remove .mapson to email)
1997-08-03 0:00 ` Charles R. Lyttle
1997-07-31 0:00 ` Samuel Mize
1997-07-31 0:00 ` Robert Dewar
1997-08-02 0:00 ` Lynn Killingbeck
1997-07-31 0:00 ` Gerald Kasner
1997-07-31 0:00 ` Robert Dewar
1997-08-02 0:00 ` Michael Sierchio
1997-08-08 0:00 ` floating point conversions Mark Lusti
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox