|
Boost : |
From: Martin Wille (mw8329_at_[hidden])
Date: 2005-12-01 12:50:47
John Maddock wrote:
> So.... I'm looking for testers to run the attached program on as many
> different platforms/compilers as possible, basically I want to see if
> there's any mileage in this or if I'm on to a looser with this code!
>
> Please build the test program with optimisations turned on: many
> compilers make non-IEEE arithmetic assumptions once you tell them to
> optimise the code.
Some results:
Linux-x86_64, glibc-2.3.5:
gcc 3.3.6 without optimizations: ok
gcc 3.3.6 -ffast-math breaks (1)
gcc 3.3.6 with a lot of optimizations, without -ffast-math: ok
gcc 3.4.4 without optimizations: ok
gcc 3.4.4 -ffast-math breaks (1)
gcc 3.4.4 with a lot of optimizations, without -ffast-math: ok
gcc 4.0.0 without optimizations: ok
gcc 4.0.0 with a lot of optimizations, without -ffast-math: ok
gcc 4.0.0 with a lot of optimizations, including -ffast-math: ok
Linux-x86, glibc-2.3.5:
gcc 3.2.3 without optimizations: ok
gcc 3.2.3 with a lot of optimizations, including -ffast-math: ok
gcc 3.3.6 without optimizations: ok
gcc 3.3.6 -ffast-math breaks (1)
gcc 3.3.6 with a lot of optimizations, without -ffast-math: ok
gcc 3.4.4 without optimizations: ok
gcc 3.4.4 -ffast-math breaks (1)
gcc 3.4.4 with a lot of optimizations, without -ffast-math: ok
gcc 4.0.2 without optimizations: ok
gcc 4.0.2 with a lot of optimizations, without -ffast-math: ok
gcc 4.0.2 with a lot of optimizations, including -ffast-math: ok
icc 8.1 without optimizations, using gcc 3.3.6 libs: breaks (1)
icc 8.1 with -O3, using gcc 3.3.6 libs: breaks (1)
icc 8.1 without optimizations, using icc libs: ok
icc 8.1 with -O3, using icc libs: ok
icc 9.0 without optimizations, using gcc 3.3.6 libs: breaks (1)
icc 9.0 with -O3, using gcc 3.3.6 libs: breaks (1)
icc 9.0 without optimizations, using icc libs: ok
icc 9.0 with -O3, using icc libs: ok
I didn't use -ffinite-math-only nor -funsafe-math-optimizations flags.
HTH,
m
1:
Running 1 test case...
Platform has FP_NORMAL macro.
FP_ZERO: 2
FP_NORMAL: 4
FP_INFINITE: 1
FP_NAN: 0
FP_SUBNORMAL: 3
Testing type float
classify.cpp(167): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [1 != 0]
classify.cpp(168): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [1 != 0]
classify.cpp(173): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [1 != 0]
classify.cpp(174): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [1 != 0]
Testing type double
classify.cpp(167): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [1 != 0]
classify.cpp(168): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [1 != 0]
classify.cpp(173): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [1 != 0]
classify.cpp(174): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [1 != 0]
Testing type long double
classify.cpp(167): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [2 != 0]
classify.cpp(168): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [2 != 0]
classify.cpp(173): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(t) == (int)FP_NAN failed [2 != 0]
classify.cpp(174): error in "test_main_caller( argc, argv )": check
(::pending::fpclassify)(-t) == (int)FP_NAN failed [2 != 0]
Send instant messages to your online friends http://au.messenger.yahoo.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk