diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-12-15 17:06:11 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-12-15 17:06:11 +0000 |
commit | 3f3cd6e438e072fef65a470c3a56d4147d7e5c4e (patch) | |
tree | 53fca9e94173f013aea02ef11f0104b3e689fc4c /set_z.c | |
parent | 5c40754e336b235218197266f5225cf98feba7b0 (diff) | |
download | mpfr-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.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; |