diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2001-11-30 13:27:30 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2001-11-30 13:27:30 +0000 |
commit | 5646684864913ec18354a0959da81d53d2474a62 (patch) | |
tree | fbc2af1d009d097c6a753525a6fa1344d6dabe14 | |
parent | cc9292ca323b6aa4877c54294da5eb6dc36bdabf (diff) | |
download | mpfr-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.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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); } |