diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-29 08:48:49 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2007-05-29 08:48:49 +0000 |
commit | d403d4e2b1e1a92f7edd72690c87e9d19cfb033f (patch) | |
tree | 46fd933e35f575ec3d385a56e96fa64271ffae2f /tests/tgeneric_ui.c | |
parent | 63e0eb99af6fcc269f371f9caaade593e3d4ff19 (diff) | |
download | mpfr-d403d4e2b1e1a92f7edd72690c87e9d19cfb033f.tar.gz |
Added check of tiny arguments to tgeneric_ui.c (if MPFR_CHECK_TINY is
defined, like in tgeneric.c); mpfr_div_ui currently fails due to the
lack of underflow checking.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@4497 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tgeneric_ui.c')
-rw-r--r-- | tests/tgeneric_ui.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/tgeneric_ui.c b/tests/tgeneric_ui.c index 37eb5946c..d46761629 100644 --- a/tests/tgeneric_ui.c +++ b/tests/tgeneric_ui.c @@ -54,9 +54,16 @@ test_generic_ui (mp_prec_t p0, mp_prec_t p1, unsigned int N) mpfr_set_prec (t, prec); yprec = prec + 10; - for (n=0; n<N; n++) + for (n = 0; n <= N; n++) { - RAND_FUNCTION (x); + if (n > 1 || prec < p1 || getenv ("MPFR_CHECK_TINY") == NULL) + RAND_FUNCTION (x); + else + { + /* Special cases tested in precision p1 if n <= 1. */ + mpfr_set_si (x, n == 0 ? 1 : -1, GMP_RNDN); + mpfr_set_exp (x, mpfr_get_emin ()); + } u = INT_RAND_FUNCTION (); rnd = (mp_rnd_t) RND_RAND (); mpfr_set_prec (y, yprec); |