From: jac@ibms48.scri.fsu.edu (Jim Carr)
Subject: Re: floating point comparison
Date: 1997/08/21
Date: 1997-08-21T00:00:00+00:00 [thread overview]
Message-ID: <5theo8$qg7$1@news.fsu.edu> (raw)
In-Reply-To: christian.bau-2108971008120001@christian-mac.isltd.insignia.com
dewar@merv.cs.nyu.edu (Robert Dewar) writes:
} There are no *errors*, the discrepancies between IEEE arithmetic and
} real arithmetic are not errors, they are simply differences that come from
} two different arithmetic models.
christian.bau@isltd.insignia.comm (Christian Bau) writes:
>
>As an example: Given a floating point number with an absolute value less
>than 10^15, find an integer number that is close to it.
That is an interesting choice since you are not guaranteed to be
able to represent 15 decimal digits in a float data type in C.
Casting up to double to use your routine below will not change
that. And don't tell me I pick nits; plenty of C programmers
will cast a float to a double to call the intrinsic double
routine to get a square root without narry a thought about it.
>Solution in C with IEEE arithmetic:
>
>double nearby_number (double x)
>{
> x += 6.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0;
> x -= 6.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0 * 1024.0;
> return x;
>}
>
>Adding 1.5 * 2^52 will produce a result that is rounded to an integer
>number. I cant call this a rounding error (or "uncertainty") since it is
>exactly the effect that I wanted to achieve.
The uncertainty is in the representation of the original real value,
say 1/10 or pi (or pi*10^14 in your case), as a float (or a double).
jac@ibms48.scri.fsu.edu (Jim Carr) wrote:
|
| It could be useful to adopt the terminology of experimental science
| here, and use "uncertainty" to denote the variance between the
| results of real arithmetic and floating point arithmetic done
| 'correctly' in a particular model. The two have much in common,
| since one propagates those uncertainties in a similar way, and
| since the confusion associated with calling them "errors" is
| equally strong. And both are poorly known. ;-)
>That term "uncertainty" makes things much much worse. The difference
>between well designed floating point arithmetic and real arithmetic is in
>no way uncertain. It is absolutely certain and predictable.
So is the process of measurement with a device with less precision
than necessary to make the measurement. For example, in your case
there is no uncertainty in the integer part of a 14 digit real in
a double precision IEEE representation that has been properly
rounded, but there is an uncertainty if it was stored as a float.
>For example, with IEEE arithmetic it is relatively easy to compute the
>difference between a+b (using real arithmetic) and a+b (using IEEE
>arithmetic) _exactly_. But you cant call something "uncertainty" that can
>be computed exactly.
The uncertainty is that more than one value of a and b will give
the same a+b result on the IEEE side.
--
James A. Carr <jac@scri.fsu.edu> | Commercial e-mail is _NOT_
http://www.scri.fsu.edu/~jac/ | desired to this or any address
Supercomputer Computations Res. Inst. | that resolves to my account
Florida State, Tallahassee FL 32306 | for any reason at any time.
next prev parent reply other threads:[~1997-08-21 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 ` Robert Dewar
1997-07-30 0:00 ` Matthew Heaney
1997-07-31 0:00 ` Robert Dewar
1997-07-31 0:00 ` Samuel Mize
1997-07-31 0:00 ` Bob Binder (remove .mapson to email)
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 ` 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-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-07-31 0:00 ` Martin Tom Brown
1997-08-02 0:00 ` Lynn Killingbeck
1997-07-30 0:00 ` Matthew Heaney
1997-07-31 0:00 ` Jim Carr
1997-07-31 0:00 ` Gerald Kasner
1997-07-31 0:00 ` Robert Dewar
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 ` 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 ` Chris L. Kuszmaul
1997-08-07 0:00 ` Dave Sparks
1997-08-08 0:00 ` Mark Eichin
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 ` 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 ` Hans Olsson
1997-08-19 0:00 ` Jim Carr
1997-08-21 0:00 ` Christian Bau
1997-08-21 0:00 ` Jim Carr [this message]
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-30 0:00 ` Paul Eggert
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-06 0:00 ` Robert Dewar
[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-07 0:00 ` Dr. Rex A. Dwyer
1997-08-07 0:00 ` Do-While Jones
1997-08-03 0:00 ` Brian Rogoff
1997-08-03 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