summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-30 13:27:30 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2001-11-30 13:27:30 +0000
commit5646684864913ec18354a0959da81d53d2474a62 (patch)
treefbc2af1d009d097c6a753525a6fa1344d6dabe14
parentcc9292ca323b6aa4877c54294da5eb6dc36bdabf (diff)
downloadmpfr-5646684864913ec18354a0959da81d53d2474a62.tar.gz
now use MPFR_PREC_MIN
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@1602 280ebfd0-de03-0410-8827-d642c229c3f4
-rw-r--r--cos.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/cos.c b/cos.c
index d3a63f429..4edb00d0d 100644
--- a/cos.c
+++ b/cos.c
@@ -105,7 +105,7 @@ static int
mpfr_cos2_aux (mpfr_ptr s, mpfr_srcptr r)
{
unsigned int l, b = 2;
- int prec_t, m = MPFR_PREC(s);
+ long int prec_t, m = MPFR_PREC(s);
mpfr_t t;
MPFR_ASSERTN (MPFR_EXP(r) <= 0);
@@ -113,7 +113,7 @@ mpfr_cos2_aux (mpfr_ptr s, mpfr_srcptr r)
mpfr_set_ui (t, 1, GMP_RNDN);
mpfr_set_ui(s, 1, GMP_RNDN);
- for (l = 1; MPFR_EXP(t) >= -m; l++)
+ for (l = 1; MPFR_EXP(t) + m >= 0; l++)
{
mpfr_mul (t, t, r, GMP_RNDU); /* err <= (3l-1) ulp */
mpfr_div_ui (t, t, (2*l-1)*(2*l), GMP_RNDU); /* err <= 3l ulp */
@@ -128,7 +128,7 @@ mpfr_cos2_aux (mpfr_ptr s, mpfr_srcptr r)
/* now 3l <= 2^b, we want 3l*ulp(t) <= 2^(-m)
i.e. b+EXP(t)-PREC(t) <= -m */
prec_t = m + MPFR_EXP(t) + b;
- if (prec_t > 0)
+ if (prec_t >= MPFR_PREC_MIN)
mpfr_round (t, GMP_RNDN, prec_t);
}