[EMAIL PROTECTED] wrote: > % python > Python 2.6a0 (trunk:54264M, Mar 10 2007, 15:19:48) > [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin > Type "help", "copyright", "credits" or "license" for more > information. > >>> import struct > >>> struct.pack("f", float("Inf")) > '\x7f\x80\x00\x00' > >>> struct.pack("f", float("NaN")) > '\x7f\xc0\x00\x00' > > (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?
How about doing the same in reverse to generate the values on Windows? It should be pretty portable, otherwise the struct module doesn't work as advertised: >>> NaN, Inf = struct.unpack("!2f", '\x7f\xc0\x00\x00\x7f\x80\x00\x00') >>> NaN,Inf (1.#QNAN, 1.#INF) This also means you can choose which NaN you generate, although given that it compares unequal with itself it probably doesn't matter. -- http://mail.python.org/mailman/listinfo/python-list