[PD] Infinite and NaN float values?

Mathieu Bouchard matju at artengine.ca
Mon Aug 16 21:20:24 CEST 2010


On Mon, 16 Aug 2010, Matteo Sisti Sette wrote:

> However there seem to be some inconsistency: 5/4 returns 0 (as I was used 
> to), not +inf.

5/4 is not a division by 0, it's a division by 4.

and then, if it were a division by 0... that should give NaN. It can't be 
NaN because, among other things, you can't even know which sign of the 
infinity it should give, let alone whether "infinity" is a proper way to 
describe what's happening.

If you accept limits (as in "the limit of 1/x as x goes towards 0") as a 
suitable mathematical device in this context, then it gives +Inf when x 
decreases towards 0, but it gives -Inf when x increases towards 0. In such 
cases, the limit is usually said to "not exist".

If you copy the sign of the zero to decide whether the result is +Inf or 
-Inf, then you violate the rule that the sign of the zero shouldn't 
matter...

> Also, I'm not sure +inf is the value you expect when adding something to 
> the greatest representable value... or is it?

Infinity in the float format is a misnomer. It should really be called 
TooBig or something like that. In an Extended Reals context, this means 
that each infinity is used to approximate all values (of the same sign) 
that are too big, but in a plain Reals context, infinities don't really 
exist, so each "infinity" is just the set of all finite numbers that are 
two big (for each sign).

you know what I mean ?

  _ _ __ ___ _____ ________ _____________ _____________________ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801


More information about the Pd-list mailing list