Fix sign of zero part from ctan / ctanh when argument infinite (bug 17118).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 17 Sep 2015 21:21:39 +0000 (21:21 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 17 Sep 2015 21:21:39 +0000 (21:21 +0000)
commit61f893789862db1dfdf188f77cd215bab0814d2c
tree9fd0f9b8395f451e24f8ce1c12253847740f8e31
parentb8682397ab2db1aed7f25d0a0c7c81134a97c8c7
Fix sign of zero part from ctan / ctanh when argument infinite (bug 17118).

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.
ChangeLog
NEWS
math/libm-test.inc
math/s_ctan.c
math/s_ctanf.c
math/s_ctanh.c
math/s_ctanhf.c
math/s_ctanhl.c
math/s_ctanl.c