diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-06-08 00:46:52 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2015-06-08 00:46:52 +0000 |
commit | dd49d7e75b89221d41d7ee83cd3b84ff46ccf6e6 (patch) | |
tree | 12789150e1fb40d9d1ef7f56bf8e4f85044476e9 /tests | |
parent | b0e8fd8630c0de561453fbe151940498198a56cb (diff) | |
download | mpfr-dd49d7e75b89221d41d7ee83cd3b84ff46ccf6e6.tar.gz |
[src/zeta_ui.c]
* Support reduced exponent range for the generic case.
* Added logging.
[tests/tzeta_ui.c] Added tests in reduced exponent range.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9523 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/tzeta_ui.c | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/tests/tzeta_ui.c b/tests/tzeta_ui.c index 5b3ff22c1..e3ce4ca35 100644 --- a/tests/tzeta_ui.c +++ b/tests/tzeta_ui.c @@ -158,18 +158,38 @@ main (int argc, char *argv[]) + (rnd == MPFR_RNDN))) { mpfr_set (t, y, (mpfr_rnd_t) rnd); - mpfr_zeta_ui (z, n, (mpfr_rnd_t) rnd); - if (mpfr_cmp (t, z)) + for (i = 0; i <= 1; i++) { - printf ("results differ for n = %lu, prec = %u, %s\n", - n, prec, mpfr_print_rnd_mode ((mpfr_rnd_t) rnd)); - printf (" got "); - mpfr_dump (z); - printf (" expected "); - mpfr_dump (t); - printf (" approx "); - mpfr_dump (y); - exit (1); + if (i) + { + mpfr_exp_t e; + + if (MPFR_IS_SINGULAR (t)) + break; + e = mpfr_get_exp (t); + set_emin (e); + set_emax (e); + } + mpfr_zeta_ui (z, n, (mpfr_rnd_t) rnd); + if (i) + { + set_emin (emin); + set_emax (emax); + } + if (mpfr_cmp (t, z)) + { + printf ("results differ for n = %lu, prec = %u," + " %s%s\n", n, prec, + mpfr_print_rnd_mode ((mpfr_rnd_t) rnd), + i ? ", reduced exponent range" : ""); + printf (" got "); + mpfr_dump (z); + printf (" expected "); + mpfr_dump (t); + printf (" approx "); + mpfr_dump (y); + exit (1); + } } } } |