max / min / smallest float value on Python 2.5

Christian Heimes lists at cheimes.de
Sun Feb 7 02:55:48 CET 2010


duncan smith wrote:
> Hello,
>        I'm trying to find a clean and reliable way of uncovering 
> information about 'extremal' values for floats on versions of Python 
> earlier than 2.6 (just 2.5 actually).  I don't want to add a dependence 
> on 3rd party modules just for this purpose.  e.g. For the smallest 
> positive float I'm using,
> 
> 
> import platform
> if platform.architecture()[0].startswith('64'):
>      TINY = 2.2250738585072014e-308
> else:
>      TINY = 1.1754943508222875e-38
> 
> 
> where I've extracted the values for TINY from numpy in IDLE,
> 
> 
>  >>> float(numpy.finfo(numpy.float32).tiny)
> 1.1754943508222875e-38
>  >>> float(numpy.finfo(numpy.float64).tiny)
> 2.2250738585072014e-308

You are confusing a 32 / 64bit build with 32 / 64bit floats. Python's
float type is build upon C's double precision float type on both 32 and
64 bit builds. The simple precision 32bit float type isn't used. The
DBL_MIN and DBL_MAX values are equal on all platforms that have full
IEEE 754 float point support. The radix may be different, though.

Christian



More information about the Python-list mailing list