On Mon, 30 May 2011 04:29:19 +0000, Chris Torek wrote:

> In article <[email protected]>, Steven
> D'Aprano  <[email protected]> wrote:
>>That's also completely wrong. The correct way to test for a NAN is with
>>the IEEE-mandated function isnan(). The NAN != NAN trick is exactly
>>that, a trick, used by programmers when their language or compiler
>>doesn't support isnan().
> 
> Perhaps it would be reasonable to be able to do:
> 
>     x.isnan()
> 
> when x is a float.

Better than a float method is a function which takes any number as 
argument:


>>> import math, fractions, decimal
>>> math.isnan(fractions.Fraction(2, 3))
False
>>> math.isnan(decimal.Decimal('nan'))
True


You can even handle complex NANs with the cmath module:

>>> import cmath
>>> cmath.isnan(complex(1, float('nan')))
True




-- 
Steven
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to