MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Floating point is like that... (was Re: Floating point error)
If programmers are assuming that they are going to get
"exact" numbers with their floating point calculations,
I fear that they will be sadly disappointed. It's a really
Bad Idea to test floating point numbers for equality -- you should
always build in a little shrinkage into the tests, or else you
will get a nasty surprise one day. (ie, write abs( a-b ) < epsilon,
rather than a == b, where epsilon is a small number. If a and b
can vary greatly in magnitude, try abs( a-b )/b < epsilon ((when
b isn't zero of course!)))
Donald Knuth discusses this at great length in the Art of Computer
Programming, vol 1.
/t
Tom Ritchford tom@mvision.com, tom@weirdos.com
Verge's "Little Idiot" -- Music for the mentally peculiar.
1-800-WEIRDOS http://www.fly.net/~tom/verge.html
Follow-Ups:
References:
Home |
Subject Index |
Thread Index