Portably generating infinity and NaN

Michael Hoffman cam.ac.uk at mh391.invalid
Fri Apr 13 20:15:50 EDT 2007


skip at pobox.com wrote:
>     >> (Note the absence of a demonstration on Windows.)  Can't the above be
>     >> blessed as the One True Way and wormed around in floatmodule.c for
>     >> those platforms where float'ing "NaN" or "Inf" doesn't currently
>     >> work?
> 
>     Martin> How would you do the worming-around?
> 
> I don't know.  On I was just asking.  On unixoid systems I sort of assume
> you could add tests to the configure script to detect what worked.  If
> converting the strings works you're done.  If not, maybe Robert Kern's numpy
> code could be run in the configure script to generate constants for NaN and
> Inf that could be used in floatmodule.c.  Windows would probably have to be
> hard-coded, but except for 32-bit and 64-bit differences it should be the
> same all over, yes?

If you're going to change CPython to do this, I think adopting PEP 754, 
and using the fpconst module would be better than changing how float() 
works when called on string literals. The only thing I don't like about 
it is the camelcasing of the functions.

http://www.python.org/dev/peps/pep-0754/
-- 
Michael Hoffman



More information about the Python-list mailing list