summaryrefslogtreecommitdiff
path: root/set_z.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-15 17:06:11 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2000-12-15 17:06:11 +0000
commit3f3cd6e438e072fef65a470c3a56d4147d7e5c4e (patch)
tree53fca9e94173f013aea02ef11f0104b3e689fc4c /set_z.c
parent5c40754e336b235218197266f5225cf98feba7b0 (diff)
downloadmpfr-3f3cd6e438e072fef65a470c3a56d4147d7e5c4e.tar.gz
adapted to NaN/Inf
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@884 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'set_z.c')
-rw-r--r--set_z.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/set_z.c b/set_z.c
index 0367a8669..9e95520b7 100644
--- a/set_z.c
+++ b/set_z.c
@@ -37,11 +37,15 @@ mpfr_set_z (f, z, rnd)
{
int fn, zn, k, dif, sign_z, sh; mp_limb_t *fp = MPFR_MANT(f), *zp, cc, c2;
- sign_z = mpz_cmp_ui(z,0);
+ MPFR_CLEAR_FLAGS (f); /* z cannot be NaN nor Inf */
+
+ sign_z = mpz_cmp_ui (z, 0);
+
if (sign_z==0) {
MPFR_SET_ZERO(f);
return 0;
}
+
fn = 1 + (MPFR_PREC(f)-1)/BITS_PER_MP_LIMB;
zn = ABS(SIZ(z));
dif = zn-fn;