classification
Title: Error on handling nan
Type: feature request Stage:
Components: Interpreter Core Versions:
process
Status: closed Resolution: later
Dependencies: Superseder:
Assigned To: Nosy List: bseiwald, mike.verdone, tim_one (3)
Priority: normal Keywords:

Created on 2003-05-14 12:12 by bseiwald, last changed 2007-11-06 18:34 by mike.verdone.

Messages (3)
msg16005 - (view) Author: Bernhard Seiwald (bseiwald) Date: 2003-05-14 12:12
We found some strange behavior of the handling of "nan"
if "nan" is used in if-statements.

We use Python 2.2 (python2-2.2.2-11.7.3.src.rpm).
In the following i show the results of the
"experiments" with "nan", "inf" and usual floats:


$ python
Python 2.2.2 (#1, Jan 30 2003, 21:26:22) 
[GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-112)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.
>>> a=float(1.2345)
>>> b=float("inf")
>>> c=float("nan")
>>> if a==b:
...  print "equal"
... 
>>> if a==c:
...  print "equal"
... 
equal
>>> if b==c:
...  print "equal"
... 
equal


Bernhard Seiwald seiwald@itp.tugraz.at
msg16006 - (view) Author: Tim Peters (tim_one) Date: 2003-05-15 01:48
Logged In: YES 
user_id=31435

Sorry, but all behavior in the presence of NaNs and infinities 
and signed zeroes is a platform- and release- dependent 
accident.  Even that float("inf") didn't raise an exception for 
you is an accident (e.g., in Python 2.2.2 on Windows, it 
does raise an exception).

I've added this to PEP 42's "non-accidental 754 support" 
feature request; you may also be interested in PEP 754 
(support for 754 special values).  Python has no 754 story 
now.  If you want it to have one, consider volunteering work 
toward that end.
msg57173 - (view) Author: Mike Verdone (mike.verdone) Date: 2007-11-06 18:34
For the benefit of those who stumble here through Google, here's a
workaround I've discovered for NaN testing. This is BAD:

value == float('NaN')

But this seems to work ok:

str(value) == str(float('NaN'))
History
Date User Action Args
2007-11-06 18:34:30mike.verdonesetnosy: + mike.verdone
messages: + msg57173
title: Error on handling nan -> Error on handling nan
2003-05-14 12:12:01bseiwaldcreate