
David Roundy
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.
Weeeeeeeelllllllll...... math philosophy, Ok. You can't divide something in a way that uses no slices. You just don't cut, if you cut zero times. Which is what you do when you divide by one, mind you, not when you divide by zero. Division by [1..0] equals multiplication by [1..]. You can't get to the end of either spectrum, just axiomatically dodge around the singularities to axiomatically connect the loose ends. There is no true answer here, the question is wrong. And you're using floats where only rationals can tackle the problem. I was wrong in claiming that
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. , both are NaN.
-- (c) this sig last receiving data processing entity. Inspect headers for past copyright information. All rights reserved. Unauthorised copying, hiring, renting, public performance and/or broadcasting of this signature prohibited.