Using gcc-4.2.2, sage-2.8.14 builds and passes all tests on my
x86-Linux (pentium4-fc6) box.
***
On ia64-Linux, it fails to build with an Internal Compiler Error
when compiling flint-0.9-r1075.p1/ZmodF_mul.c; specifically
the compile line is
gcc -std=c99 -I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include/
-I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include
-I/home/kate/sage/sage-2.8.14-ia64-Linux/local/include -funroll-loops
-fexpensive-optimizations -fPIC -O3 -c ZmodF_mul.c -o ZmodF_mul.o
I isolated and reported the problem to the gcc folks (bug # 34266),
the problem goes
away if either -funroll-loops is removed, or if optimization is
reduced from level 3 to level 2.
The bug has been fixed in gcc-4.3-20071123.
Unfortunately trying to build sage-2.8.14 with gcc-4.3-20071123 fails
in cremona-20071124.p2.
***
On x86_64-Linux (again Fedora Core 6), the following test fails:
sage -t devel/sage-main/sage/rings/real_rqdf.pyx
**********************************************************************
File "real_rqdf.pyx", line 12:
sage: RQDF( 123.2) + RR (1.0)
Expected:
124.200000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 14:
sage: RQDF( 12.2) + RDF (0.56)
Expected:
12.76
Got:
nan
**********************************************************************
File "real_rqdf.pyx", line 16:
sage: RQDF( 12.2) + (9)
Expected:
21.19999999999999928945726423989981412887573242187500000000000000
Got:
NaN
*******************************************************
File "real_rqdf.pyx", line 18:
sage: RQDF( 12.2) + (9/3)
Expected:
15.19999999999999928945726423989981412887573242187500000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 24:
sage: RQDF( 123.2) * RR (.543)
Expected:
66.89760000000000624851281827432114309792736749325567465385058291
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 32:
sage: RQDF(a)
Expected:
0.868588963806503655302257837833210164588794011607333132228907565
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 461:
sage: RQDF(RR(1091.34342))
Expected:
1091.343419999999923675204627215862274169921875000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 650:
sage: RQDF(10.1)/RQDF(0)
Expected:
inf
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 874:
sage: RQDF(0.49).round()
Expected:
0.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 876:
sage: RQDF(0.51).round()
Expected:
1.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 902:
sage: RQDF(2.99).floor()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 904:
sage: RQDF(2.00).floor()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 922:
sage: RQDF(2.99).ceil()
Expected:
3
Got:
0**********************************************************************
File "real_rqdf.pyx", line 924:
sage: RQDF(2.00).ceil()
Expected:
2
Got:
0
**********************************************************************
File "real_rqdf.pyx", line 952:
sage: RQDF(2.99).trunc()
Expected:
2.000000000000000000000000000000000000000000000000000000000000000
Got:
0.000000000000000000000000000000000000000000000000000000000000000
**********************************************************************
File "real_rqdf.pyx", line 954:
sage: RQDF(-2.00).trunc()
Expected:
-2.000000000000000000000000000000000000000000000000000000000000000
Got:
0.000000000000000000000000000000000000000000000000000000000000000
**********************************************************************
File "real_rqdf.pyx", line 971:
sage: RQDF(2.50).frac()
Expected:
0.500000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1007:
sage: n._rpy_()
Expected:
2.0
Got:
nan
**********************************************************************
File "real_rqdf.pyx", line 1299:
sage: r = RQDF(125.0); r.cube_root()
Expected:
5.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1313:
sage: r = RQDF(125.0); r.nth_root(3)
Expected: 5.000000000000000000000000000000000000000000000000000000000000000
Got:
NaN
**********************************************************************
File "real_rqdf.pyx", line 1315:
sage: r.nth_root(5)
Expected:
2.626527804403767236455131266496479582115662802810898530034436330
Got:
NaN
**********************************************************************
Kate
--
Kate Minola
University of Maryland, College Park
RQDF has nothing to do with mpfr. It's the quaddouble*.spkg which is 100%
independent of GMP/MPFR. That said, if you build quaddouble directly and
run its test suite, what happens.
Regarding the flint problem, that was caused by a problem with how the spkg
was configured -- it should have turned off funroll_loops but it
didn't correctly
do so (it used to).
-- William