Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix sign of zero part from ctan / ctanh when argument infinite (bug 17118). | Joseph Myers | 2015-09-17 | 1 | -1/+8 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | C99/C11 Annex G specifies the sign of the zero part of the result of ctan (x +/- i * Inf) and ctanh (+/-Inf + i * y). This patch fixes glibc to follow that specification, along the lines I described in my review of Andreas's previous patch for this issue <https://sourceware.org/ml/libc-alpha/2014-08/msg00142.html>. Tested for x86_64. 2015-09-17 Joseph Myers <joseph@codesourcery.com> Andreas Schwab <schwab@suse.de> [BZ #17118] * math/s_ctan.c (__ctan): Determine sign of zero real part of result when imaginary part of argument is infinite using sine and cosine. * math/s_ctanf.c (__ctanf): Likewise. * math/s_ctanl.c (__ctanl): Likewise. * math/s_ctanh.c (__ctanh): Determine sign of zero imaginary part of result when real part of argument is infinite using sine and cosine. * math/s_ctanhf.c (__ctanhf): Likewise. * math/s_ctanhl.c (__ctanhl): Likewise. * math/libm-test.inc (ctan_test_data): Add more tests of ctan. (ctanh_test_data): Add more tests of ctanh. | ||||
* | Fix ctan, ctanh missing underflows (bug 18595). | Joseph Myers | 2015-09-15 | 1 | -0/+10 |
| | | | | | | | | | | | | | | | | | | | | Similar to various other bugs in this area, ctan and ctanh can fail to raise the underflow exception for some cases of results that are tiny and inexact. This patch forces the exception in a similar way to previous fixes. Tested for x86_64 and x86. [BZ #18595] * math/s_ctan.c (__ctan): Force underflow exception for results whose real or imaginary part has small absolute value. * math/s_ctanf.c (__ctanf): Likewise. * math/s_ctanh.c (__ctanh): Likewise. * math/s_ctanhf.c (__ctanhf): Likewise. * math/s_ctanhl.c (__ctanhl): Likewise. * math/s_ctanl.c (__ctanl): Likewise. * math/auto-libm-test-in: Do not allow missing underflow for ctan and ctanh. Add more tests of ctan and ctanh. | ||||
* | Fix cexp, ccos, ccosh, csin, csinh spurious underflows (bug 18594). | Joseph Myers | 2015-06-24 | 1 | -2/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cexp, ccos, ccosh, csin and csinh have spurious underflows in cases where they compute sin of the smallest normal, that produces an underflow exception (depending on which sin implementation is in use) but the final result does not underflow. ctan and ctanh may also have such underflows, or they may be latent (the issue there is that e.g. ctan (DBL_MIN) should, rounded upwards, be the next double value above DBL_MIN, which under glibc's accuracy goals may not have an underflow exception, but the intermediate computation of sin (DBL_MIN) would legitimately underflow on before-rounding architectures). This patch fixes all those functions so they use plain comparisons (> DBL_MIN etc.) instead of comparing the result of fpclassify with FP_SUBNORMAL (in all these cases, we already know the number being compared is finite). Note that in the case of csin / csinf / csinl, there is no need for fabs calls in the comparison because the real part has already been reduced to its absolute value. As the patch fixes the failures that previously obstructed moving tests of cexp to use ALL_RM_TEST, those tests are moved to ALL_RM_TEST by the patch (two functions remain yet to be converted). Tested for x86_64 and x86 and ulps updated accordingly. [BZ #18594] * math/s_ccosh.c (__ccosh): Compare with least normal value instead of comparing class with FP_SUBNORMAL. * math/s_ccoshf.c (__ccoshf): Likewise. * math/s_ccoshl.c (__ccoshl): Likewise. * math/s_cexp.c (__cexp): Likewise. * math/s_cexpf.c (__cexpf): Likewise. * math/s_cexpl.c (__cexpl): Likewise. * math/s_csin.c (__csin): Likewise. * math/s_csinf.c (__csinf): Likewise. * math/s_csinh.c (__csinh): Likewise. * math/s_csinhf.c (__csinhf): Likewise. * math/s_csinhl.c (__csinhl): Likewise. * math/s_csinl.c (__csinl): Likewise. * math/s_ctan.c (__ctan): Likewise. * math/s_ctanf.c (__ctanf): Likewise. * math/s_ctanh.c (__ctanh): Likewise. * math/s_ctanhf.c (__ctanhf): Likewise. * math/s_ctanhl.c (__ctanhl): Likewise. * math/s_ctanl.c (__ctanl): Likewise. * math/auto-libm-test-in: Add more tests of ccos, ccosh, cexp, csin, csinh, ctan and ctanh. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (cexp_test): Use ALL_RM_TEST. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. | ||||
* | Update copyright dates with scripts/update-copyrights. | Joseph Myers | 2015-01-02 | 1 | -1/+1 |
| | |||||
* | Use glibc_likely instead __builtin_expect. | Ondřej Bílka | 2014-02-10 | 1 | -2/+2 |
| | |||||
* | Update copyright notices with scripts/update-copyrights | Allan McRae | 2014-01-01 | 1 | -1/+1 |
| | |||||
* | Update copyright notices with scripts/update-copyrights. | Joseph Myers | 2013-01-02 | 1 | -1/+1 |
| | |||||
* | Fix wrong ussage of sincos for subnormal arguments | Liubov Dmitrieva | 2012-09-25 | 1 | -1/+10 |
| | |||||
* | Fix ctan, ctanh of subnormals in round-upwards mode (bug 14328). | Joseph Myers | 2012-07-04 | 1 | -3/+15 |
| | |||||
* | Fix ctan, ctanh overflow (bug 11521). | Joseph Myers | 2012-04-09 | 1 | -12/+32 |
| | |||||
* | Replace FSF snail mail address with URLs. | Paul Eggert | 2012-02-09 | 1 | -3/+2 |
| | |||||
* | Optimization to some complex math functions | Ulrich Drepper | 2011-10-22 | 1 | -3/+1 |
| | | | | Also, change last reference to __sqrt into __sqrt to easily. | ||||
* | Optimize use of isnan, isinf, finite | Ulrich Drepper | 2011-10-08 | 1 | -3/+3 |
| | |||||
* | Use private math_private.h in files in math/ | Ulrich Drepper | 2011-10-08 | 1 | -1/+1 |
| | |||||
* | Moved to csu/errno-loc.c. | Ulrich Drepper | 2005-12-14 | 1 | -0/+84 |
| | |||||
* | (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. | Ulrich Drepper | 2004-12-22 | 1 | -84/+0 |
| | |||||
* | 2.5-18.1 | Jakub Jelinek | 2007-07-12 | 1 | -0/+84 |