summaryrefslogtreecommitdiff
path: root/cos.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2009-11-01 21:22:16 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2009-11-01 21:22:16 +0000
commit4887e127d7e90f26a19acd5e7501c18f91498763 (patch)
tree7f686206da6b80e46524eb97f02fc1fe2e6f2616 /cos.c
parent5cab177b8b91c3d73eaab3a3acb062d3890c719a (diff)
downloadmpfr-4887e127d7e90f26a19acd5e7501c18f91498763.tar.gz
[cos.c] fixed case where reduced argument is zero
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@6535 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'cos.c')
-rw-r--r--cos.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cos.c b/cos.c
index b0aeaa939..1057baf06 100644
--- a/cos.c
+++ b/cos.c
@@ -203,6 +203,8 @@ mpfr_cos (mpfr_ptr y, mpfr_srcptr x, mpfr_rnd_t rnd_mode)
mpfr_const_pi (c, MPFR_RNDN);
mpfr_mul_2ui (c, c, 1, MPFR_RNDN); /* 2Pi */
mpfr_remainder (xr, x, c, MPFR_RNDN);
+ if (MPFR_IS_ZERO(xr))
+ goto ziv_next;
/* now |xr| <= 4, thus r <= 16 below */
mpfr_mul (r, xr, xr, MPFR_RNDU); /* err <= 1 ulp */
}