diff options
author | pelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4> | 2004-02-24 09:12:03 +0000 |
---|---|---|
committer | pelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4> | 2004-02-24 09:12:03 +0000 |
commit | 53062736c152be21b77b11fec1a29699e6c7a30c (patch) | |
tree | b1f384e00645646e00499ef066720a3eae61e504 /tests | |
parent | a6c20cdb1b58fb4d3c3bc2d03c0b10f951a8b8b5 (diff) | |
download | mpfr-53062736c152be21b77b11fec1a29699e6c7a30c.tar.gz |
Improve test coverage.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2797 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/tmul_2exp.c | 13 | ||||
-rw-r--r-- | tests/tset_str.c | 6 | ||||
-rw-r--r-- | tests/tzeta.c | 4 |
3 files changed, 21 insertions, 2 deletions
diff --git a/tests/tmul_2exp.c b/tests/tmul_2exp.c index 511ef540d..645210f72 100644 --- a/tests/tmul_2exp.c +++ b/tests/tmul_2exp.c @@ -116,6 +116,19 @@ main (int argc, char *argv[]) } } + if (MPFR_EXP_MAX >= LONG_MAX/2 && MPFR_EXP_MIN <= LONG_MAX/2-LONG_MAX-1) + { + mpfr_set_ui (w, 1, GMP_RNDN); + mpfr_mul_2ui (w, w, LONG_MAX/2, GMP_RNDZ); + mpfr_div_2ui (w, w, LONG_MAX+1, GMP_RNDZ); + mpfr_mul_2ui (w, w, LONG_MAX+1-LONG_MAX/2, GMP_RNDZ); + if (!mpfr_cmp_ui (w, 1)) + { + printf ("Underflow LONG_MAX error!\n"); + exit (1); + } + } + mpfr_clears (w, z, NULL); tests_end_mpfr (); diff --git a/tests/tset_str.c b/tests/tset_str.c index 9ead70df4..f90db1f34 100644 --- a/tests/tset_str.c +++ b/tests/tset_str.c @@ -480,6 +480,12 @@ main (int argc, char *argv[]) MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); ret = mpfr_set_str (x, "1p10toto", 16, GMP_RNDN); MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); + ret = mpfr_set_str (x, "", 16, GMP_RNDN); + MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); + ret = mpfr_set_str (x, "+", 16, GMP_RNDN); + MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); + ret = mpfr_set_str (x, "-", 16, GMP_RNDN); + MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); ret = mpfr_set_str (x, "this_is_an_invalid_number_in_base_36", 36, GMP_RNDN); MPFR_ASSERTN(mpfr_cmp_ui (x, 1) == 0 && ret == -1); mpfr_set_prec (x, 135); diff --git a/tests/tzeta.c b/tests/tzeta.c index dd5f8b67e..1519b26c0 100644 --- a/tests/tzeta.c +++ b/tests/tzeta.c @@ -115,7 +115,7 @@ static const char *const val[] = { "-2.0", "0.0", "-1.0", "-0.000101010101010101010101010101010101010101010101010101010101010", "-0.9", "-0.000110011110011111010001010001100010111101001010100110001110110", - /* "-0.8", "-0.000111110011101010001011100011010010000001010011110100010001110", */ + /* "-0.8", "-0.000111110011101010001011100011010010000001010011110100010001110", "-0.7", "-0.00100101011011111100110011110011111010111111000110110100010110", "-0.6", "-0.00101100101100100100110111111000110010111010110010111000001100", "-0.5", "-0.00110101001110000000100000011001100100010000111100010001111100", @@ -130,7 +130,7 @@ static const char *const val[] = { "0.4", "-1.0010001010000010000110111000100101001000001011101010110101011", "0.5", "-1.0111010111011001110010110000011111100111001111111110111000110", "0.6", "-1.1111001111100001100111101110010001001000001101100110110000100", - /* "0.7", "-10.110001110100010001110111000101010011110011000110010100101000", + "0.7", "-10.110001110100010001110111000101010011110011000110010100101000", "0.8", "-100.01110000000000101000010010000011000000111101100101100011010", "0.9", "-1001.0110111000011011111100111100111011100010001111111010000100", "0.99","-0.11000110110110001101011010110001011010011000110001011100101110E7", |