diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-12-15 17:39:14 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-12-15 17:39:14 +0000 |
commit | cb6a4da71f7e637d25ab9a7315fb39bd5b29b7eb (patch) | |
tree | 85403b7859b2645836d88b8a85709bb846542ebc /urandomb.c | |
parent | 8d65933d9ea86467a660c2f9e2b9bfdcf77ccb6c (diff) | |
download | mpfr-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.c | 10 |
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; } |