Fix tan missing underflows (bug 16517).
commit37550cb3d6591a8f443467707ec80b4ab5c2e157
authorJoseph Myers <joseph@codesourcery.com>
Fri, 7 Aug 2015 23:10:35 +0000 (7 23:10 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 7 Aug 2015 23:10:35 +0000 (7 23:10 +0000)
tree934ef1da0ab3a2cd9d0a23b1645392914e95afcc
parentdb2bcbcb631f1c1aa023ef9f23a968e1ac288423
Fix tan missing underflows (bug 16517).

Similar to various other bugs in this area, some tan implementations
do not raise the underflow exception for subnormal arguments, when the
result is tiny and inexact.  This patch forces the exception in a
similar way to previous fixes.

Tested for x86_64, x86, mips64 and powerpc.

[BZ #16517]
* sysdeps/ieee754/dbl-64/s_tan.c: Include <float.h>.
(tan): Force underflow exception for arguments with small absolute
value.
* sysdeps/ieee754/flt-32/k_tanf.c: Include <float.h>.
(__kernel_tanf): Force underflow exception for arguments with
small absolute value.
* sysdeps/ieee754/ldbl-128/k_tanl.c: Include <float.h>.
(__kernel_tanl): Force underflow exception for arguments with
small absolute value.
* sysdeps/ieee754/ldbl-128ibm/k_tanl.c: Include <float.h>.
(__kernel_tanl): Force underflow exception for arguments with
small absolute value.
* sysdeps/ieee754/ldbl-96/k_tanl.c: Include <float.h>.
(__kernel_tanl): Force underflow exception for arguments with
small absolute value.
* math/auto-libm-test-in: Add more tests of tan.
* math/auto-libm-test-out: Regenerated.
ChangeLog
NEWS
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/dbl-64/s_tan.c
sysdeps/ieee754/flt-32/k_tanf.c
sysdeps/ieee754/ldbl-128/k_tanl.c
sysdeps/ieee754/ldbl-128ibm/k_tanl.c
sysdeps/ieee754/ldbl-96/k_tanl.c