diff options
author | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2009-11-01 21:22:16 +0000 |
---|---|---|
committer | zimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4> | 2009-11-01 21:22:16 +0000 |
commit | 4887e127d7e90f26a19acd5e7501c18f91498763 (patch) | |
tree | 7f686206da6b80e46524eb97f02fc1fe2e6f2616 /cos.c | |
parent | 5cab177b8b91c3d73eaab3a3acb062d3890c719a (diff) | |
download | mpfr-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.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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 */ } |