summaryrefslogtreecommitdiff
path: root/urandomb.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-15 17:39:14 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-15 17:39:14 +0000
commitcb6a4da71f7e637d25ab9a7315fb39bd5b29b7eb (patch)
tree85403b7859b2645836d88b8a85709bb846542ebc /urandomb.c
parent8d65933d9ea86467a660c2f9e2b9bfdcf77ccb6c (diff)
downloadmpfr-cb6a4da71f7e637d25ab9a7315fb39bd5b29b7eb.tar.gz
clear NaN/Inf flags of result
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@892 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'urandomb.c')
-rw-r--r--urandomb.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/urandomb.c b/urandomb.c
index 26338dfc3..e74754211 100644
--- a/urandomb.c
+++ b/urandomb.c
@@ -40,7 +40,9 @@ mpfr_urandomb (rop, rstate)
mp_ptr rp;
mp_size_t nlimbs;
mp_exp_t exp;
- unsigned long cnt, nbits;
+ unsigned long cnt, nbits;
+
+ MPFR_CLEAR_FLAGS(rop);
rp = MPFR_MANT(rop);
nbits = MPFR_PREC(rop);
@@ -63,13 +65,13 @@ mpfr_urandomb (rop, rstate)
exp--;
}
- count_leading_zeros(cnt, rp[nlimbs - 1]);
- if (cnt) mpn_lshift(rp, rp, nlimbs, cnt);
+ count_leading_zeros (cnt, rp[nlimbs - 1]);
+ if (cnt) mpn_lshift (rp, rp, nlimbs, cnt);
exp -= cnt;
cnt = nlimbs*BITS_PER_MP_LIMB - nbits;
/* cnt is the number of non significant bits in the low limb */
- rp[0] &= ~((((mp_limb_t)1)<<cnt) - 1);
+ rp[0] &= ~((((mp_limb_t) 1) << cnt) - 1);
MPFR_EXP (rop) = exp;
}