summaryrefslogtreecommitdiff
path: root/gmp_op.c
diff options
context:
space:
mode:
authorpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2005-03-14 09:50:29 +0000
committerpelissip <pelissip@280ebfd0-de03-0410-8827-d642c229c3f4>2005-03-14 09:50:29 +0000
commit4cc3d7b6458a25fd58ae71c1091930fbd55cdf28 (patch)
tree15cfc2b368672fedbc760aef8dae27babc9484a1 /gmp_op.c
parent106ab958c8bc8e64c63bac9bfb885a1ebca56053 (diff)
downloadmpfr-4cc3d7b6458a25fd58ae71c1091930fbd55cdf28.tar.gz
Replace mpfr_can_round (..., GMP_RNDN, GMP_RNDZ, ...) to fast replacement
mpfr_round_p. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@3388 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'gmp_op.c')
-rw-r--r--gmp_op.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gmp_op.c b/gmp_op.c
index 961071db0..5be8f3e46 100644
--- a/gmp_op.c
+++ b/gmp_op.c
@@ -196,8 +196,7 @@ mpfr_add_q (mpfr_ptr y, mpfr_srcptr x, mpq_srcptr z, mp_rnd_t rnd_mode)
if (MPFR_LIKELY (!MPFR_IS_ZERO (t)))
{
err = (mp_exp_t) p - 1 - MAX (MPFR_GET_EXP(q)-MPFR_GET_EXP(t), 0);
- if (MPFR_LIKELY (mpfr_can_round (t, err, GMP_RNDN, GMP_RNDZ,
- MPFR_PREC(y) + (rnd_mode == GMP_RNDN))))
+ if (MPFR_LIKELY (MPFR_CAN_ROUND (t, err, MPFR_PREC (y), rnd_mode)))
{
res = mpfr_set (y, t, rnd_mode);
break;
@@ -275,8 +274,7 @@ mpfr_sub_q (mpfr_ptr y, mpfr_srcptr x, mpq_srcptr z,mp_rnd_t rnd_mode)
if (MPFR_LIKELY (!MPFR_IS_ZERO (t)))
{
err = (mp_exp_t) p - 1 - MAX (MPFR_GET_EXP(q)-MPFR_GET_EXP(t), 0);
- res = mpfr_can_round (t, err, GMP_RNDN, GMP_RNDZ,
- MPFR_PREC(y) + (rnd_mode == GMP_RNDN) );
+ res = MPFR_CAN_ROUND (t, err, MPFR_PREC (y), rnd_mode);
if (MPFR_LIKELY (res != 0)) /* We can round! */
{
res = mpfr_set (y, t, rnd_mode);