diff options
author | Kevin Ryde <user42@zip.com.au> | 2003-04-23 23:22:20 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2003-04-23 23:22:20 +0200 |
commit | a02f7ec54411a50035ee89a21a09ea80e9d6e0f7 (patch) | |
tree | 70cbb132420536ae127323e54d6729ffeffd46d1 /tests/misc.c | |
parent | 364a7b22bc9097ff46f34b3f5b39844d26bd8fab (diff) | |
download | gmp-a02f7ec54411a50035ee89a21a09ea80e9d6e0f7.tar.gz |
* tests/misc.c, tests/tests.h (tests_infinity_d): New function.
* tests/misc.c (mpz_erandomb ,mpz_errandomb): Use gmp_urandomm_ui.
Diffstat (limited to 'tests/misc.c')
-rw-r--r-- | tests/misc.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/tests/misc.c b/tests/misc.c index 36fb70b8c..a0abe3514 100644 --- a/tests/misc.c +++ b/tests/misc.c @@ -313,7 +313,7 @@ mpz_pow2abs_p (mpz_srcptr z) void mpz_erandomb (mpz_ptr rop, gmp_randstate_t rstate, unsigned long nbits) { - mpz_urandomb (rop, rstate, urandom () % nbits); + mpz_urandomb (rop, rstate, gmp_urandomm_ui (rstate, nbits)); } void @@ -327,7 +327,7 @@ mpz_erandomb_nonzero (mpz_ptr rop, gmp_randstate_t rstate, unsigned long nbits) void mpz_errandomb (mpz_ptr rop, gmp_randstate_t rstate, unsigned long nbits) { - mpz_rrandomb (rop, rstate, urandom () % nbits); + mpz_rrandomb (rop, rstate, gmp_urandomm_ui (rstate, nbits)); } void @@ -405,3 +405,22 @@ call_rand_algs (void (*func) __GMP_PROTO ((const char *, gmp_randstate_ptr))) mpz_clear (a); } + + +/* Return +infinity if available, or 0 if not. + We don't want to use libm, so INFINITY or other system values are not + used here. */ +double +tests_infinity_d (void) +{ +#if _GMP_IEEE_FLOATS + union ieee_double_extract x; + x.s.exp = 2047; + x.s.manl = 0; + x.s.manh = 0; + x.s.sig = 0; + return x.d; +#else + return 0; +#endif +} |