[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 645662] Re: Python 3.1.2 math errors with Qemu 0.12.5
From: |
Arno Wagner |
Subject: |
[Qemu-devel] [Bug 645662] Re: Python 3.1.2 math errors with Qemu 0.12.5 |
Date: |
Sat, 23 Oct 2010 14:44:49 -0000 |
Just found time to look a bit deeper into this. The problem is in the (real)
asinh() function.
I think it is possible that somewhere a calculation was done in float instead
of double or a double value was shortened to float.
Please note that until this is fixed, qemu i386 is not IEEE754 conform.
Minimal test code in c:
---
#include <stdio.h>
#include <math.h>
int main(){ /* compile with gcc -lm test.c */
double x, y;
x = -2.1073424255447017e-08;
y = asinh(x);
printf("y = %20.16e\n",y);
printf("should be -2.1073424255447017e-08\n");
}
---
--
Python 3.1.2 math errors with Qemu 0.12.5
https://bugs.launchpad.net/bugs/645662
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: New
Bug description:
When doing the regression tests for Python 3.1.2 with Qemu 0.12.5, (Linux
version 2.6.26-2-686 (Debian 2.6.26-25lenny1)),
gcc (Debian 4.3.2-1.1) 4.3.2, Python compiled from sources within qemu,
3 math tests fail, apparently because the floating point unit is buggy. Qmeu
was compiled from original sources
on Debian Lenny with kernel 2.6.34.6 from kernel.org, gcc (Debian 4.3.2-1.1)
4.3.
Regression testing errors:
test_cmath
test test_cmath failed -- Traceback (most recent call last):
File "/root/tools/python3/Python-3.1.2/Lib/test/test_cmath.py", line 364, in
self.fail(error_message)
AssertionError: acos0034: acos(complex(-1.0000000000000002, 0.0))
Expected: complex(3.141592653589793, -2.1073424255447014e-08)
Received: complex(3.141592653589793, -2.1073424338879928e-08)
Received value insufficiently close to expected value.
test_float
test test_float failed -- Traceback (most recent call last):
File "/root/tools/python3/Python-3.1.2/Lib/test/test_float.py", line 479, in
self.assertEqual(s, repr(float(s)))
AssertionError: '8.72293771110361e+25' != '8.722937711103609e+25'
test_math
test test_math failed -- multiple errors occurred; run in verbose mode for deta
=>
runtests.sh -v test_math
le01:~/tools/python3/Python-3.1.2# ./runtests.sh -v test_math
test_math BAD
1 BAD
0 GOOD
0 SKIPPED
1 total
le01:~/tools/python3/Python-3.1.2#