diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2016-02-17 12:34:05 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2016-02-17 12:34:05 +0000 |
commit | 3d3fffa4ec0a36f6e2b9de6cba7c17425de9742e (patch) | |
tree | b24d811954928642c0b54a561354b4d52e19b87d /tests/tgeneric.c | |
parent | 83ee5180a3bb1d4c4f240be5aaf99830f1e6afac (diff) | |
download | mpfr-3d3fffa4ec0a36f6e2b9de6cba7c17425de9742e.tar.gz |
now mpfr_gamma_inc(a,x) also works for 'a' a negative integer
(however a and x should not be too large, we should implement
Legendre's continued fraction for the general case)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@10049 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'tests/tgeneric.c')
-rw-r--r-- | tests/tgeneric.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/tests/tgeneric.c b/tests/tgeneric.c index 208b97ce4..ed806f041 100644 --- a/tests/tgeneric.c +++ b/tests/tgeneric.c @@ -131,6 +131,11 @@ http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., #define REDUCE_EMAX mpfr_get_emax () #endif +/* same for mpfr_get_emin() */ +#ifndef REDUCE_EMIN +#define REDUCE_EMIN mpfr_get_emin () +#endif + static void test_generic (mpfr_prec_t p0, mpfr_prec_t p1, unsigned int nmax) { @@ -227,10 +232,10 @@ test_generic (mpfr_prec_t p0, mpfr_prec_t p1, unsigned int nmax) if (n <= 1) { mpfr_set_si (x, n == 0 ? 1 : -1, MPFR_RNDN); - mpfr_set_exp (x, mpfr_get_emin ()); + mpfr_set_exp (x, REDUCE_EMIN); #if defined(TWO_ARGS) || defined(DOUBLE_ARG1) || defined(DOUBLE_ARG2) mpfr_set_si (u, randlimb () % 2 == 0 ? 1 : -1, MPFR_RNDN); - mpfr_set_exp (u, mpfr_get_emin ()); + mpfr_set_exp (u, REDUCE_EMAX); #endif } else /* 2 <= n <= 3 */ @@ -239,7 +244,7 @@ test_generic (mpfr_prec_t p0, mpfr_prec_t p1, unsigned int nmax) mpfr_setmax (x, REDUCE_EMAX); #if defined(TWO_ARGS) || defined(DOUBLE_ARG1) || defined(DOUBLE_ARG2) mpfr_set_si (u, randlimb () % 2 == 0 ? 1 : -1, MPFR_RNDN); - mpfr_setmax (u, mpfr_get_emax ()); + mpfr_setmax (u, REDUCE_EMAX); #endif } } |