summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Zimmermann <Paul.Zimmermann@inria.fr>2016-05-20 23:04:37 +0200
committerPaul Zimmermann <Paul.Zimmermann@inria.fr>2016-05-20 23:04:37 +0200
commitf98ffae1b78ffaba51e6c5b62a9c48fa12608fab (patch)
treeacebdaae8a037214e1ffbeefec25b6e0627dabea
parentf32f06bfa1be2af9dc68a090e98e71f72ae4ee5e (diff)
downloadmpc-git-f98ffae1b78ffaba51e6c5b62a9c48fa12608fab.tar.gz
fixed some tests that were assuming a fixed mpfr default exponent range
-rw-r--r--tests/cos.dat2
-rw-r--r--tests/div.dat8
-rw-r--r--tests/exp.dat2
-rw-r--r--tests/log.dat20
-rw-r--r--[-rwxr-xr-x]tests/mul.dat6
-rw-r--r--tests/norm.dat42
-rw-r--r--tests/pow.dat2
-rw-r--r--tests/random.c5
-rw-r--r--tests/sin.dat2
-rw-r--r--tests/sqr.dat10
-rw-r--r--[-rwxr-xr-x]tools/coverage0
11 files changed, 53 insertions, 46 deletions
diff --git a/tests/cos.dat b/tests/cos.dat
index 52acb2c..bc0e020 100644
--- a/tests/cos.dat
+++ b/tests/cos.dat
@@ -85,4 +85,4 @@
+ + 53 +inf 53 +inf 53 -0x1B3E8A3660D279p-3 53 0x4580CBF242683p-3 N N
# bug reported by Joseph Myers (25 Mar 2015)
-+ - 2 -0x3p1073741821 2 0x3p1073741821 2 -0x1p200 2 -0x1p800 Z Z
++ - 2 -0x3p1073741819 2 0x3p1073741819 2 -0x1p200 2 -0x1p800 Z Z
diff --git a/tests/div.dat b/tests/div.dat
index 6f5e600..b030382 100644
--- a/tests/div.dat
+++ b/tests/div.dat
@@ -2470,14 +2470,14 @@
# examples to exercise overflow (re)
# positive overflow
-+ 0 2 inf 2 0 10 0x3ffp1073741813 10 0x3ffp1073741813 10 0x2abp-10 10 0x2abp-10 N N
++ 0 2 inf 2 0 10 0x3ffp1073741811 10 0x3ffp1073741811 10 0x2abp-10 10 0x2abp-10 N N
# negative overflow
-- 0 2 -inf 2 0 10 -0x3ffp1073741813 10 -0x3ffp1073741813 10 0x2abp-10 10 0x2abp-10 N N
+- 0 2 -inf 2 0 10 -0x3ffp1073741811 10 -0x3ffp1073741811 10 0x2abp-10 10 0x2abp-10 N N
# examples to exercise overflow (im)
# positive overflow
-0 + 2 0 2 inf 10 0x3ffp1073741813 10 0x3ffp1073741813 10 0x2abp-10 10 -0x2abp-10 N N
+0 + 2 0 2 inf 10 0x3ffp1073741811 10 0x3ffp1073741811 10 0x2abp-10 10 -0x2abp-10 N N
# negative overflow
-0 - 2 0 2 -inf 10 -0x3ffp1073741813 10 -0x3ffp1073741813 10 0x2abp-10 10 -0x2abp-10 N N
+0 - 2 0 2 -inf 10 -0x3ffp1073741811 10 -0x3ffp1073741811 10 0x2abp-10 10 -0x2abp-10 N N
# examples to exercise underflow
# (1.5+i)*2^emin/(1-i) gives (0.25 + 1.25*i)*2^emin
diff --git a/tests/exp.dat b/tests/exp.dat
index 5492d55..e0a7bfc 100644
--- a/tests/exp.dat
+++ b/tests/exp.dat
@@ -118,4 +118,4 @@
? ? 53 1 53 0x5D7A2148071Fp-7213522 53 0x1E02AE0D0F6Fp-7213521 53 0x5D7A2148071Fp-7213522 N N
# bug reported by Joseph Myers (07 Apr 2015)
-- + 2 0x3p1073741821 2 -0x3p1073741821 2 0x1p200 2 0x1p800 Z Z
+- + 2 0x3p1073741819 2 -0x3p1073741819 2 0x1p200 2 0x1p800 Z Z
diff --git a/tests/log.dat b/tests/log.dat
index ee95025..0c90921 100644
--- a/tests/log.dat
+++ b/tests/log.dat
@@ -169,22 +169,22 @@
# Example leading to intermediate overflow in x^2+y^2
+ + 53 0x58B90BFD4BCBFp-22 2 0x1p0 2 0x1p536870912 2 0x1p536870912 U U
-+ + 53 0x58B90BFAA42A98p-25 2 0x1p0 2 0x3p1073741821 2 0x3p1073741821 U U
++ + 53 0xb17217efbcc47p-22 2 0x1p0 2 0x3p1073741819 2 0x3p1073741819 U U
# Example leading to intermediate underflow in x^2+y^2
-- - 53 -0x58B90BFB3775A8p-25 2 0x3p-2 2 0x1p-1073741824 2 0x1p-1073741824 D D
+- - 53 -0xb17217f0e35a9p-22 2 0x3p-2 2 0x1p-1073741822 2 0x1p-1073741822 D D
# log (-1 + i*eps), looped in previous version
- - 2 0 2 3 2 -1 2 0x1p-1073741813 N N
- - 2 0 2 3 2 -1 2 0x1p-1073741813 D D
-+ + 2 0x1p-1073741824 2 4 2 -1 2 0x1p-1073741813 U U
++ + 2 0x1p-1073741822 2 4 2 -1 2 0x1p-1073741813 U U
# log(1 + i*eps), could cause similar problems
-- + 2 0 2 0x1p-1073741824 2 1 2 0x1p-1073741824 N N
-- - 2 0 2 0 2 1 2 0x1p-1073741824 D D
-+ + 2 0x1p-1073741824 2 0x1p-1073741824 2 1 2 0x1p-1073741824 U U
+- + 2 0 2 0x1p-1073741822 2 1 2 0x1p-1073741822 N N
+- - 2 0 2 0 2 1 2 0x1p-1073741822 D D
++ + 2 0x1p-1073741822 2 0x1p-1073741822 2 1 2 0x1p-1073741822 U U
# log (eps + i)
-- - 2 0 2 0x3p-1 2 0x1p-1073741824 2 1 N N
-- - 2 0 2 0x3p-1 2 0x1p-1073741824 2 1 D D
-+ + 2 0x1p-1073741824 2 2 2 0x1p-1073741824 2 1 U U
+- - 2 0 2 0x3p-1 2 0x1p-1073741822 2 1 N N
+- - 2 0 2 0x3p-1 2 0x1p-1073741822 2 1 D D
++ + 2 0x1p-1073741822 2 2 2 0x1p-1073741822 2 1 U U
# log (close to 1 + i*eps), improves test coverage
-+ - 2 -0x1p-36 2 0x1p-1073741824 36 0x0.FFFFFFFFF 2 0x1p-1073741824 N N
++ - 2 -0x1p-36 2 0x1p-1073741822 36 0x0.FFFFFFFFF 2 0x1p-1073741822 N N
diff --git a/tests/mul.dat b/tests/mul.dat
index 13ea1e6..84db3ed 100755..100644
--- a/tests/mul.dat
+++ b/tests/mul.dat
@@ -153,9 +153,11 @@
+ 0 100 +inf 100 +0 100 0x1@125000750 100 0x1@125000750 100 0x1@225000750 100 -0x1@225000750 N N
# the same with directed rounding
- + 10 -inf 10 +inf 10 0x1@125000750 10 0x3@125000750 10 0x1@225000750 10 0x2@225000750 D U
-+ - 10 -0b1.111111111e1073741822 10 0b1.111111111e1073741822 10 0x1@125000750 10 0x3@125000750 10 0x1@225000750 10 0x2@225000750 U D
+# the following test assumes the maximum MPFR exponent is 1073741821
+# and the minimum exponent is -1073741821
++ - 10 -0b1.111111111e1073741820 10 0b1.111111111e1073741820 10 0x1@125000750 10 0x3@125000750 10 0x1@225000750 10 0x2@225000750 U D
+ - 10 -0 10 +0 10 0x1@-125000750 10 0x3@-125000750 10 0x1@-225000750 10 0x2@-225000750 U D
-- + 10 -0b1e-1073741824 10 0b1e-1073741824 10 0x1@-125000750 10 0x3@-125000750 10 0x1@-225000750 10 0x2@-225000750 D U
+- + 10 -0b1e-1073741822 10 0b1e-1073741822 10 0x1@-125000750 10 0x3@-125000750 10 0x1@-225000750 10 0x2@-225000750 D U
# starting with Karatsuba
- + 10000 -inf 100 +inf 100 0x1@125000750 100 0x3@125000750 100 0x1@225000750 100 0x2@225000750 N N
- + 10000 -inf 100 +inf 100 0x1@225000750 100 0x2@225000750 100 0x1@125000750 100 0x3@125000750 N N
diff --git a/tests/norm.dat b/tests/norm.dat
index 1a7e341..7b5567f 100644
--- a/tests/norm.dat
+++ b/tests/norm.dat
@@ -87,26 +87,26 @@
# over- and underflows
+ 10 inf 10 0 10 0b1@536870912 N
+ 10 inf 10 0 10 0b1@536870912 U
-- 10 0b1.111111111@1073741822 10 0 10 0b1@536870912 D
-- 10 0b1.111111111@1073741822 10 0 10 0b1@536870912 Z
+- 10 0b1.111111111@1073741820 10 0 10 0b1@536870912 D
+- 10 0b1.111111111@1073741820 10 0 10 0b1@536870912 Z
- 10 0 10 0 10 0b1@-536870913 N
- 10 0 10 0 10 0b1@-536870913 D
- 10 0 10 0 10 0b1@-536870913 Z
-+ 10 0b1.000000000e-1073741824 10 0 10 0b1@-536870913 U
++ 10 0b1.000000000e-1073741822 10 0 10 0b1@-536870913 U
+ 10 inf 10 0b1@536870912 10 0 N
+ 10 inf 10 0b1@536870912 10 0 U
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0 D
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0 Z
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0 D
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0 Z
- 10 0 10 0b1@-536870913 10 0 N
- 10 0 10 0b1@-536870913 10 0 D
- 10 0 10 0b1@-536870913 10 0 Z
-+ 10 0b1.000000000e-1073741824 10 0b1@-536870913 10 0 U
++ 10 0b1.000000000e-1073741822 10 0b1@-536870913 10 0 U
+ 10 inf 10 1 10 0b1@536870912 N
+ 10 inf 10 1 10 0b1@536870912 U
-- 10 0b1.111111111@1073741822 10 1 10 0b1@536870912 D
-- 10 0b1.111111111@1073741822 10 1 10 0b1@536870912 Z
+- 10 0b1.111111111@1073741820 10 1 10 0b1@536870912 D
+- 10 0b1.111111111@1073741820 10 1 10 0b1@536870912 Z
- 10 1 10 1 10 0b1@-536870913 N
- 10 1 10 1 10 0b1@-536870913 D
- 10 1 10 1 10 0b1@-536870913 Z
@@ -114,8 +114,8 @@
+ 10 inf 10 0b1@536870912 10 1 N
+ 10 inf 10 0b1@536870912 10 1 U
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 1 D
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 1 Z
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 1 D
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 1 Z
- 10 1 10 0b1@-536870913 10 1 N
- 10 1 10 0b1@-536870913 10 1 D
- 10 1 10 0b1@-536870913 10 1 Z
@@ -123,8 +123,8 @@
+ 3 inf 10 0b1.1 10 0b1@536870912 N
+ 3 inf 10 0b1.1 10 0b1@536870912 U
-- 3 0b1.11@1073741822 10 0b1.1 10 0b1@536870912 D
-- 3 0b1.11@1073741822 10 0b1.1 10 0b1@536870912 Z
+- 3 0b1.11@1073741820 10 0b1.1 10 0b1@536870912 D
+- 3 0b1.11@1073741820 10 0b1.1 10 0b1@536870912 Z
+ 3 2.5 10 0b1.1 10 0b1@-536870913 N
- 3 2 10 0b1.1 10 0b1@-536870913 D
- 3 2 10 0b1.1 10 0b1@-536870913 Z
@@ -132,8 +132,8 @@
+ 3 inf 10 0b1@536870912 10 0b1.1 N
+ 3 inf 10 0b1@536870912 10 0b1.1 U
-- 3 0b1.11@1073741822 10 0b1@536870912 10 0b1.1 D
-- 3 0b1.11@1073741822 10 0b1@536870912 10 0b1.1 Z
+- 3 0b1.11@1073741820 10 0b1@536870912 10 0b1.1 D
+- 3 0b1.11@1073741820 10 0b1@536870912 10 0b1.1 Z
+ 3 2.5 10 0b1@-536870913 10 0b1.1 N
- 3 2 10 0b1@-536870913 10 0b1.1 D
- 3 2 10 0b1@-536870913 10 0b1.1 Z
@@ -141,20 +141,20 @@
+ 10 inf 10 0b1@-536870913 10 0b1@536870912 N
+ 10 inf 10 0b1@-536870913 10 0b1@536870912 U
-- 10 0b1.111111111@1073741822 10 0b1@-536870913 10 0b1@536870912 D
-- 10 0b1.111111111@1073741822 10 0b1@-536870912 10 0b1@536870912 Z
+- 10 0b1.111111111@1073741820 10 0b1@-536870913 10 0b1@536870912 D
+- 10 0b1.111111111@1073741820 10 0b1@-536870912 10 0b1@536870912 Z
+ 10 inf 10 0b1@536870912 10 0b1@-536870913 N
+ 10 inf 10 0b1@536870912 10 0b1@-536870913 U
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@-536870913 D
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@-536870913 Z
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0b1@-536870913 D
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0b1@-536870913 Z
+ 10 inf 10 0b1@536870912 10 0b1@536870912 N
+ 10 inf 10 0b1@536870912 10 0b1@536870912 U
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@536870912 D
-- 10 0b1.111111111@1073741822 10 0b1@536870912 10 0b1@536870912 Z
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0b1@536870912 D
+- 10 0b1.111111111@1073741820 10 0b1@536870912 10 0b1@536870912 Z
- 10 0 10 0b1@-536870913 10 0b1@-536870913 N
- 10 0 10 0b1@-536870913 10 0b1@-536870913 D
- 10 0 10 0b1@-536870913 10 0b1@-536870913 Z
-+ 10 0b1@-1073741824 10 0b1@-536870913 10 0b1@-536870913 U
++ 10 0b1@-1073741822 10 0b1@-536870913 10 0b1@-536870913 U
0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870906 2 0b1.1@-536870913 N
0 18 0b1.00100000000001001@-1073741811 2 0b1.1@-536870913 2 0b1.1@-536870906 N
diff --git a/tests/pow.dat b/tests/pow.dat
index 90c1a5d..e56f60e 100644
--- a/tests/pow.dat
+++ b/tests/pow.dat
@@ -470,4 +470,4 @@
+ - 53 0x7f661e2bd0db5p-51 53 0xc63ee1a1c4d19p-55 2 0x1p1000 2 0 2 0 2 0x1p1000 N N
# bug reported by Joseph Myers (07 Apr 2015)
-+ - 2 -0x3p1073741821 2 0x3p1073741821 2 1 2 2 2 0x1p1000 2 0 Z Z
++ - 2 -0x3p1073741819 2 0x3p1073741819 2 1 2 2 2 0x1p1000 2 0 Z Z
diff --git a/tests/random.c b/tests/random.c
index 89da546..529606b 100644
--- a/tests/random.c
+++ b/tests/random.c
@@ -84,6 +84,11 @@ test_start (void)
gmp_randseed_ui (rands, seed);
}
}
+
+ /* some tests assume a given exponent range for MPFR, thus since the
+ default exponent range for MPFR is not specified, we hard-code it */
+ mpfr_set_emax (1073741821);
+ mpfr_set_emin (-1073741821);
}
void
diff --git a/tests/sin.dat b/tests/sin.dat
index 30e0d00..d7a2143 100644
--- a/tests/sin.dat
+++ b/tests/sin.dat
@@ -163,4 +163,4 @@
- + 53 -inf 53 +inf 53 -0x1B3E8A3660D279p-3 53 0x4580CBF242683p-3 N N
# bug reported by Joseph Myers (25 Mar 2015)
-- - 2 0x3p1073741821 2 0x3p1073741821 2 -0x1p200 2 -0x1p800 Z Z
+- - 2 0x3p1073741819 2 0x3p1073741819 2 -0x1p200 2 -0x1p800 Z Z
diff --git a/tests/sqr.dat b/tests/sqr.dat
index 72bfe07..1964dff 100644
--- a/tests/sqr.dat
+++ b/tests/sqr.dat
@@ -162,9 +162,9 @@
0 + 100 0 100 inf 100 0x1@192058806 100 0x1@192058806 N N
# Re(op)*Im(op) can be computed, but multiplication by 2 triggers overflow
0 + 100 0 100 inf 100 0b1@536870911 100 0b1@536870911 N N
-0 - 10 0 10 0b1.111111111e1073741822 100 0b1@536870911 100 0b1@536870911 N D
-0 - 10 0 10 0b1.111111111e1073741822 100 0b1@536870912 100 0b1@536870912 N D
-0 0 10 0 10 0b1e-1073741823 100 0b1@-536870912 100 0b1@-536870912 N N
+0 - 10 0 10 0b1.111111111e1073741820 100 0b1@536870911 100 0b1@536870911 N D
+0 - 10 0 10 0b1.111111111e1073741820 100 0b1@536870912 100 0b1@536870912 N D
+0 0 10 0 10 0b1e-1073741821 100 0b1@-536870911 100 0b1@-536870911 N N
0 - 10 0 10 0 100 0b1@-536870913 100 0b1@-536870913 N N
-0 + 10 0 10 0b1@-1073741824 100 0b1@-536870913 100 0b1@-536870913 N U
-+ - 10 0b1e-1073741824 10 0 100 0b1@-536870912 100 0b1@-536870913 N N
+0 + 10 0 10 0b1@-1073741822 100 0b1@-536870912 100 0b1@-536870912 N U
++ - 10 0b1e-1073741822 10 0 100 0b1@-536870911 100 0b1@-536870912 N N
diff --git a/tools/coverage b/tools/coverage
index 5bc4c3c..5bc4c3c 100755..100644
--- a/tools/coverage
+++ b/tools/coverage