glibc/sysdeps/ieee754/ldbl-128ibm
Joseph Myers 63dbe5f322 Fix j1, jn missing underflows (bug 16559).
Similar to various other bugs in this area, j1 and jn implementations
can fail to raise the underflow exception when the internal
computation is exact although the actual function is inexact.  This
patch forces the exception in a similar way to other such fixes.  (The
ldbl-128 / ldbl-128ibm j1l implementation is different and doesn't
need a change for this until spurious underflows in it are fixed.)

Tested for x86_64, x86, mips64 and powerpc.

	[BZ #16559]
	* sysdeps/ieee754/dbl-64/e_j1.c: Include <float.h>.
	(__ieee754_j1): Force underflow exception for small results.
	* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
	* sysdeps/ieee754/flt-32/e_j1f.c: Include <float.h>.
	(__ieee754_j1f): Force underflow exception for small results.
	* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
	* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
	* sysdeps/ieee754/ldbl-96/e_j1l.c: Include <float.h>.
	(__ieee754_j1l): Force underflow exception for small results.
	* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
	* math/auto-libm-test-in: Add more tests of j1 and jn.
	* math/auto-libm-test-out: Regenerated.
2015-06-29 16:52:16 +00:00
..
e_acoshl.c Fix ldbl-128ibm acoshl inaccuracy (bug 18019). 2015-02-25 00:01:15 +00:00
e_acosl.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
e_asinl.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
e_atan2l.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
e_atanhl.c Fix atanhl missing underflows (bug 16352). 2015-05-15 22:07:57 +00:00
e_coshl.c Fix cosh spurious underflows from expm1 (bug 16354), inaccurate results near 0 (bug 17061). 2014-06-23 20:20:10 +00:00
e_exp10l.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
e_expl.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
e_fmodl.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
e_gammal_r.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
e_hypotl.c PowerPC floating point little-endian [4 of 15] 2013-10-04 10:32:48 +09:30
e_ilogbl.c Fix ldbl-128ibm ilogbl near powers of 2 (bug 18029). 2015-02-26 12:57:21 +00:00
e_j0l.c 2006-01-27 Dwayne Grant McConnell <decimal@us.ibm.com> 2006-01-28 00:15:15 +00:00
e_j1l.c 2006-01-27 Dwayne Grant McConnell <decimal@us.ibm.com> 2006-01-28 00:15:15 +00:00
e_jnl.c Fix j1, jn missing underflows (bug 16559). 2015-06-29 16:52:16 +00:00
e_lgammal_r.c 2006-01-27 Dwayne Grant McConnell <decimal@us.ibm.com> 2006-01-28 00:15:15 +00:00
e_log2l.c Fix log2 (1) in round-downward mode (bug 17042). 2014-06-10 12:07:15 +00:00
e_log10l.c Fix log10 (1) in round-downward mode (bug 16977). 2014-05-23 12:07:50 +00:00
e_logl.c Fix ldbl-128ibm logl inaccuracy (bug 16386). 2014-01-02 16:35:46 +00:00
e_powl.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
e_rem_pio2l.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
e_remainderl.c PowerPC floating point little-endian [4 of 15] 2013-10-04 10:32:48 +09:30
e_sinhl.c PowerPC floating point little-endian [2 of 15] 2013-10-04 10:32:19 +09:30
e_sqrtl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gamma_productl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ieee754.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
k_cosl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
k_sincosl.c Fix sin, sincos missing underflows (bug 16526, bug 16538). 2015-06-23 22:24:20 +00:00
k_sinl.c Fix sin, sincos missing underflows (bug 16526, bug 16538). 2015-06-23 22:24:20 +00:00
k_tanl.c Fix ldbl-128 / ldbl-128ibm tanl for -Wuninitialized. 2015-05-22 20:13:44 +00:00
ldbl2mpn.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile 2006-01-27 Dwayne Grant McConnell <decimal@us.ibm.com> 2006-01-28 00:15:15 +00:00
math_ldbl.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
mpn2ldbl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
printf_fphex.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_asinhl.c Fix asinh missing underflows (bug 16350). 2015-06-18 23:27:41 +00:00
s_atanl.c Fix atan / atan2 missing underflows (bug 15319). 2015-02-18 21:10:49 +00:00
s_cbrtl.c 2006-01-27 Dwayne Grant McConnell <decimal@us.ibm.com> 2006-01-28 00:15:15 +00:00
s_ceill.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_copysignl.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_cosl.c PowerPC floating point little-endian [2 of 15] 2013-10-04 10:32:19 +09:30
s_erfl.c Fix ldbl-128 / ldbl-128ibm erfcl for -Wuninitialized 2015-05-22 17:48:45 +00:00
s_expm1l.c Fix ldbl-128ibm expm1l on large arguments (bug 16408). 2014-01-08 13:32:39 +00:00
s_fabsl.c PowerPC floating point little-endian [2 of 15] 2013-10-04 10:32:19 +09:30
s_finitel.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_floorl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_fmal.c Replace finite with isfinite. 2015-06-03 16:35:44 +01:00
s_fpclassifyl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_frexpl.c FIx ldbl-128ibm frexpl for 32-bit systems (bug 16619, bug 16740). 2014-11-26 13:54:55 +00:00
s_isinf_nsl.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
s_isinfl.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_isnanl.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_issignalingl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_llrintl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_llroundl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_log1pl.c Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
s_logbl.c Fix ldbl-128ibm logbl near powers of 2 (bug 18030). 2015-02-26 15:14:58 +00:00
s_lrintl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_lroundl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_modfl.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_nearbyintl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_nextafterl.c Correct IBM long double nextafterl. 2014-04-02 13:46:19 +10:30
s_nexttoward.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
s_nexttowardf.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
s_remquol.c Fix sign of remquo zero remainder in round-downward mode (bug 17987). 2015-02-17 00:41:50 +00:00
s_rintl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_roundl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_scalblnl.c [BZ #6803] Set errno for scalbln, scalbn 2014-06-20 07:48:20 +05:30
s_scalbnl.c Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
s_signbitl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
s_sincosl.c Fix sincos errno setting (bug 15467). 2015-02-11 23:17:25 +00:00
s_sinl.c PowerPC floating point little-endian [2 of 15] 2013-10-04 10:32:19 +09:30
s_tanhl.c PowerPC floating point little-endian [3 of 15] 2013-10-04 10:32:36 +09:30
s_tanl.c PowerPC floating point little-endian [2 of 15] 2013-10-04 10:32:19 +09:30
s_truncl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
strtold_l.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
t_sincosl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
w_expl.c This patch renames all uses of __isinf*, __isnan*, __finite* and __signbit* to use standard C99 macros. This has no effect on generated code. 2015-06-03 15:41:36 +01:00
w_log1pl.c Set errno for log1p on pole/domain error. 2015-04-13 21:19:27 +02:00
w_scalblnl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x2y2m1l.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00