Re: [Numpy-discussion] RE: Python 2.2 seriously crippled for numerical computation?
On 2 Mar 2002, Konrad Hinsen wrote:
Tim Peters
writes: # Python 2.2
1e-200**2 Traceback (most recent call last): File "<stdin>", line 1, in ? OverflowError: (34, 'Numerical result out of range')
That one is surprising and definitely not intended: it suggests your platform libm is setting errno to ERANGE for pow(1e-200, 2.0), or that your platform C headers define INFINITY but incorrectly, or that your platform C headers define HUGE_VAL but incorrectly, or that your platform C compiler generates bad code, or optimizes incorrectly, for negating and/or comparing
I just tested and found the same behaviour, on RedHat Linux 7.1 running on a Pentium machine. Python 2.1, compiled and running on the same machine, returns 0. So does the Python 1.5.2 that comes with the RedHat installation. Although there might certainly be something wrong with the C compiler and/or header files, something has likely changed in Python as well in going to 2.2, the only other explanation I see would be a compiler optimization bug that didn't have an effect with earlier Python releases.
Other examples... FreeBSD 4.4: Python 2.1.1 (#1, Sep 13 2001, 18:12:15) [GCC 2.95.3 20010315 (release) [FreeBSD]] on freebsd4 Type "copyright", "credits" or "license" for more information.
1e-200**2 0.0 1e200**2 Inf
Python 2.3a0 (#1, Mar 1 2002, 00:00:52) [GCC 2.95.3 20010315 (release) [FreeBSD]] on freebsd4 Type "help", "copyright", "credits" or "license" for more information.
1e-200**2 0.0 1e200**2 Traceback (most recent call last): File "<stdin>", line 1, in ? OverflowError: (34, 'Result too large')
Both builds built with "./configure --with-fpectl", although the optimisation settings for the 2.3a0 (CVS of yesterday) build were tweaked (2.1.1: "-g -O3"; 2.3a0: "-s -m486 -Os"). My 2.2 OS/2 EMX build (which uses gcc 2.8.1 -O2) produces exactly the same result as 2.3a0 on FreeBSD. -- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: andymac@bullseye.apana.org.au | Snail: PO Box 370 andymac@pcug.org.au | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia
participants (1)
-
Andrew MacIntyre