diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2009-03-03 16:51:07 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2009-03-03 16:51:07 +0000 |
commit | f5f7883fc7cf47d38ed493a882fd7109bdd589bb (patch) | |
tree | 1058cf0d07593fa2cec9f32b4988ac40611b4bff /div.c | |
parent | cbd40e1cb659b579e608afbe7a05da5b15a860be (diff) | |
download | mpfr-f5f7883fc7cf47d38ed493a882fd7109bdd589bb.tar.gz |
GMP_RNDX -> MPFR_RNDX
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@6053 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'div.c')
-rw-r--r-- | div.c | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -259,7 +259,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) MPFR_UNSIGNED_MINUS_MODULO(sh, MPFR_PREC(q)); - if (MPFR_UNLIKELY(rnd_mode == GMP_RNDN && sh == 0)) + if (MPFR_UNLIKELY(rnd_mode == MPFR_RNDN && sh == 0)) { /* we compute the quotient with one more limb, in order to get the round bit in the quotient, and the remainder only contains sticky bits */ @@ -343,7 +343,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) sticky3 = qp[0] & MPFR_LIMB_MASK(sh); /* does nothing when sh=0 */ sh2 = sh; } - else /* qsize = q0size + 1: only happens when rnd_mode=GMP_RNDN and sh=0 */ + else /* qsize = q0size + 1: only happens when rnd_mode=MPFR_RNDN and sh=0 */ { MPN_COPY (q0p, qp + 1, q0size); sticky3 = qp[0]; @@ -359,8 +359,8 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) (unsigned long) sticky, (unsigned long) sticky3, inex); #endif - like_rndz = rnd_mode == GMP_RNDZ || - rnd_mode == (sign_quotient < 0 ? GMP_RNDU : GMP_RNDD); + like_rndz = rnd_mode == MPFR_RNDZ || + rnd_mode == (sign_quotient < 0 ? MPFR_RNDU : MPFR_RNDD); /* to round, we distinguish two cases: (a) vsize <= qsize: we used the full divisor @@ -373,7 +373,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) #endif if (MPFR_LIKELY(vsize <= qsize)) /* use the full divisor */ { - if (MPFR_LIKELY(rnd_mode == GMP_RNDN)) + if (MPFR_LIKELY(rnd_mode == MPFR_RNDN)) { round_bit = sticky3 & (MPFR_LIMB_ONE << (sh2 - 1)); sticky = (sticky3 ^ round_bit) | sticky_u; @@ -399,7 +399,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) inexact flag for 000...000 or 000...001.) */ mp_limb_t sticky3orig = sticky3; - if (rnd_mode == GMP_RNDN) + if (rnd_mode == MPFR_RNDN) { round_bit = sticky3 & (MPFR_LIMB_ONE << (sh2 - 1)); sticky3 = sticky3 ^ round_bit; @@ -520,7 +520,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) { /* round_bit=0, sticky3=0: q1-1 is exact only when sh=0 */ inex = (cmp_s_r || sh) ? -1 : 0; - if (rnd_mode == GMP_RNDN || + if (rnd_mode == MPFR_RNDN || (! like_rndz && inex != 0)) { inex = 1; @@ -537,10 +537,10 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) } else /* q1-2 < u/v < q1-1 */ { - /* if rnd=GMP_RNDN, the result is q1 when + /* if rnd=MPFR_RNDN, the result is q1 when q1-2 >= q1-2^(sh-1), i.e. sh >= 2, otherwise (sh=1) it is q1-2 */ - if (rnd_mode == GMP_RNDN) /* sh > 0 */ + if (rnd_mode == MPFR_RNDN) /* sh > 0 */ { /* Case sh=1: sb=0 always, and q1-rb is exactly representable, like q1-rb-2. @@ -608,7 +608,7 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) inex = round_bit == MPFR_LIMB_ZERO && sticky == MPFR_LIMB_ZERO ? 0 : -1; goto truncate; } - else if (rnd_mode == GMP_RNDN) /* sticky <> 0 or round <> 0 */ + else if (rnd_mode == MPFR_RNDN) /* sticky <> 0 or round <> 0 */ { if (round_bit == MPFR_LIMB_ZERO) /* necessarily sticky <> 0 */ { @@ -665,9 +665,9 @@ mpfr_div (mpfr_ptr q, mpfr_srcptr u, mpfr_srcptr v, mp_rnd_t rnd_mode) return mpfr_overflow (q, rnd_mode, sign_quotient); else if (MPFR_UNLIKELY(qexp < __gmpfr_emin)) { - if (rnd_mode == GMP_RNDN && ((qexp < __gmpfr_emin - 1) || + if (rnd_mode == MPFR_RNDN && ((qexp < __gmpfr_emin - 1) || (inex >= 0 && mpfr_powerof2_raw (q)))) - rnd_mode = GMP_RNDZ; + rnd_mode = MPFR_RNDZ; return mpfr_underflow (q, rnd_mode, sign_quotient); } MPFR_SET_EXP(q, qexp); |