diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-02-11 17:01:15 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2000-02-11 17:01:15 +0000 |
commit | 00c03d0e3897e69478d60c0ff13fce9c7081aaa8 (patch) | |
tree | 1c4c50fe7dfc7e25ab70ffbc77f84a953e471691 /set_z.c | |
parent | 35569e37d387d8addc02eafc0a106f2a8c85f2ad (diff) | |
download | mpfr-00c03d0e3897e69478d60c0ff13fce9c7081aaa8.tar.gz |
unsigned char -> mp_rnd_t
SIGN -> MPFR_SIGN
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@457 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'set_z.c')
-rw-r--r-- | set_z.c | 15 |
1 files changed, 9 insertions, 6 deletions
@@ -27,25 +27,28 @@ MA 02111-1307, USA. */ /* set f to the integer z */ int #if __STDC__ -mpfr_set_z (mpfr_ptr f, mpz_srcptr z, unsigned char rnd) +mpfr_set_z (mpfr_ptr f, mpz_srcptr z, mp_rnd_t rnd) #else mpfr_set_z (f, z, rnd) - mpfr_ptr f; - mpz_srcptr z; - unsigned char rnd; + mpfr_ptr f; + mpz_srcptr z; + mp_rnd_t rnd; #endif { int fn, zn, k, dif, sign_z, sh; mp_limb_t *fp = MANT(f), *zp, cc, c2; sign_z = mpz_cmp_ui(z,0); - if (sign_z==0) return (SIZE(f)=0); + if (sign_z==0) { + SET_ZERO(f); + return 0; + } fn = 1 + (PREC(f)-1)/BITS_PER_MP_LIMB; zn = ABS(SIZ(z)); dif = zn-fn; zp = PTR(z); count_leading_zeros(k, zp[zn-1]); EXP(f) = zn*BITS_PER_MP_LIMB-k; - if (SIGN(f)*sign_z<0) CHANGE_SIGN(f); + if (MPFR_SIGN(f)*sign_z<0) CHANGE_SIGN(f); if (dif>=0) { /* number has to be truncated */ if (k) { mpn_lshift(fp, zp + dif, fn, k); |