diff options
author | Paul Zimmermann <Paul.Zimmermann@inria.fr> | 2016-05-20 23:04:37 +0200 |
---|---|---|
committer | Paul Zimmermann <Paul.Zimmermann@inria.fr> | 2016-05-20 23:04:37 +0200 |
commit | f98ffae1b78ffaba51e6c5b62a9c48fa12608fab (patch) | |
tree | acebdaae8a037214e1ffbeefec25b6e0627dabea | |
parent | f32f06bfa1be2af9dc68a090e98e71f72ae4ee5e (diff) | |
download | mpc-git-f98ffae1b78ffaba51e6c5b62a9c48fa12608fab.tar.gz |
fixed some tests that were assuming a fixed mpfr default exponent range
-rw-r--r-- | tests/cos.dat | 2 | ||||
-rw-r--r-- | tests/div.dat | 8 | ||||
-rw-r--r-- | tests/exp.dat | 2 | ||||
-rw-r--r-- | tests/log.dat | 20 | ||||
-rw-r--r--[-rwxr-xr-x] | tests/mul.dat | 6 | ||||
-rw-r--r-- | tests/norm.dat | 42 | ||||
-rw-r--r-- | tests/pow.dat | 2 | ||||
-rw-r--r-- | tests/random.c | 5 | ||||
-rw-r--r-- | tests/sin.dat | 2 | ||||
-rw-r--r-- | tests/sqr.dat | 10 | ||||
-rw-r--r--[-rwxr-xr-x] | tools/coverage | 0 |
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 |