summaryrefslogtreecommitdiff
path: root/urandomb.c
diff options
context:
space:
mode:
authorpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2003-10-27 15:15:04 +0000
committerpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2003-10-27 15:15:04 +0000
commit734c0a144b04e2cae4e67b394010e3f6e3cadecc (patch)
treee0bb801e56a43c3aebe1ad73851ede3588e082fb /urandomb.c
parenta7f45009dff2e3d0e8698b44e45f5cacacb82cdd (diff)
downloadmpfr-734c0a144b04e2cae4e67b394010e3f6e3cadecc.tar.gz
Change the internal format of MPFR: ZERO, INF and NAN have special values of exp.
Rename MPFR_ESIZE in MPFR_LIMB_SIZE. Rename MPFR_ABSZISE in MPFR_ALLOC_SIZE. Rename MPFR_INIT in MPFR_TMP_INIT (INIT1 too). "mpfr.h" includes <gmp.h> if GMP isn't detected. Change the way of detecting stdio.h (To check). Use mpfr namespace for new definitions in "mpfr.h". git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@2524 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'urandomb.c')
-rw-r--r--urandomb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/urandomb.c b/urandomb.c
index 2ac85ec01..55b1a06ca 100644
--- a/urandomb.c
+++ b/urandomb.c
@@ -42,7 +42,8 @@ mpfr_urandomb (mpfr_ptr rop, gmp_randstate_t rstate)
rp = MPFR_MANT(rop);
nbits = MPFR_PREC(rop);
- nlimbs = (nbits + BITS_PER_MP_LIMB - 1) / BITS_PER_MP_LIMB;
+ nlimbs = MPFR_LIMB_SIZE(rop);
+ /*(nbits + BITS_PER_MP_LIMB - 1) / BITS_PER_MP_LIMB;*/
_gmp_rand (rp, rstate, nlimbs * BITS_PER_MP_LIMB);
@@ -74,6 +75,8 @@ mpfr_urandomb (mpfr_ptr rop, gmp_randstate_t rstate)
if (k)
MPN_ZERO (rp, k);
}
+ else
+ MPFR_SET_ZERO(rop);
MPFR_SET_POS (rop);
return 0;