On Fri, Jan 11, 2008 at 02:54:20PM +0100, Achim Schneider wrote:
> +-0 / +-0 is always NaN 'cos you can't tell which one is bigger and
> thus can't decide between positive and negative Infinity, and it
> isn't both, either.
> 
> But then there's +0/0 and -0/0, which would be +Infinity and
> -Infinity, and +0 > 0 > -0. AFAIK there are no floats with three zero
> values, though. 

No, +0/0 might be 0 or finite instead of +Infinity, so it's a NaN.

e.g. consider

Prelude> let x=1e-300/1e300
Prelude> x
0.0
Prelude> x/x
NaN

The "true" answer here is that x/x == 1.0 (not 0 or +Infinity), but there's
no way for the computer to know this, so it's NaN.
-- 
David Roundy
Department of Physics
Oregon State University
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to