On Fri, 2004-11-05 at 13:57, Henning Thielemann wrote: > On Fri, 5 Nov 2004, Robert Dockins wrote: > > > What IEEE has done is shoehorned in some values that aren't really > > numbers into their representation (NaN certainly; one could make a > > convincing argument that +Inf and -Inf aren't numbers). > > I wonder why Infinity has a sign in IEEE floating processing, as well as > 0. To support this behaviour uniformly one would need a +0 or -0 offset > for each number, which would lead straightforward to non-standard analysis
It is related to the decision to have signed infinity. One rationale is thus: The identity 1/(1/x) = x is only true for all IEEE floats x if we have signed 0. In particular if x is -infinity then 1/(-infinity) would be 0 and 1/0 = +infinity in the IEEE floating point system. So if we preserve the sign for overflow (+-infinity), we also need to preserve the sign for underflow (+-0) or other identities fail. Note that -0 == +0 See: What Every Computer Scientist Should Know About Floating Point Arithmetic http://citeseer.ist.psu.edu/goldberg91what.html page 183. Duncan _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe