glibc/sysdeps/ieee754/dbl-64
Joseph Myers 078d1cf8ac Do not raise "inexact" from generic round (bug 15479).
C99 and C11 allow but do not require ceil, floor, round and trunc to
raise the "inexact" exception for noninteger arguments.  TS 18661-1
requires that this exception not be raised by these functions.  This
aligns them with general IEEE semantics, where "inexact" is only
raised if the final step of rounding the infinite-precision result to
the result type is inexact; for these functions, the
infinite-precision integer result is always representable in the
result type, so "inexact" should never be raised.

The generic implementations of ceil, floor and round functions contain
code to force "inexact" to be raised.  This patch removes it for round
functions to align them with TS 18661-1 in this regard.  The tests
*are* updated by this patch; there are fewer architecture-specific
versions than for ceil and floor, and I fixed the powerpc ones some
time ago.  If any others still have the issue, as shown by tests for
round failing with spurious exceptions, they can be fixed separately
by architecture maintainers or others.

Tested for x86_64, x86 and mips64.

	[BZ #15479]
	* sysdeps/ieee754/dbl-64/s_round.c (huge): Remove variable.
	(__round): Do not force "inexact" exception.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c (huge): Remove
	variable.
	(__round): Do not force "inexact" exception.
	* sysdeps/ieee754/flt-32/s_roundf.c (huge): Remove variable.
	(__roundf): Do not force "inexact" exception.
	* sysdeps/ieee754/ldbl-128/s_roundl.c (huge): Remove variable.
	(__roundl): Do not force "inexact" exception.
	* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Remove variable.
	(__roundl): Do not force "inexact" exception.
	* math/libm-test.inc (round_test_data): Do not allow spurious
	"inexact" exceptions.
2016-05-24 17:46:55 +00:00
..
wordsize-64 Do not raise "inexact" from generic round (bug 15479). 2016-05-24 17:46:55 +00:00
asincos.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
atnat2.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
atnat.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
branred.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
branred.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dla.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
doasin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
doasin.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dosincos.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dosincos.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_acos.c Update. 2001-03-12 00:04:52 +00:00
e_acosh.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_asin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_atan2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_atanh.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_cosh.c Avoid excess range overflowing results from cosh, sinh, lgamma (bug 18980). 2015-09-18 20:00:48 +00:00
e_exp2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_exp10.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_fmod.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
e_gamma_r.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_hypot.c Fix hypot missing underflows (bug 18803). 2015-09-24 23:43:57 +00:00
e_ilogb.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_j0.c Avoid uninitialized warnings in Bessel functions. 2015-02-26 21:49:19 +00:00
e_j1.c Fix j1, jn missing errno setting on underflow (bug 18611). 2015-10-23 21:37:33 +00:00
e_jn.c Fix j1, jn missing errno setting on underflow (bug 18611). 2015-10-23 21:37:33 +00:00
e_lgamma_r.c Remove GCC version conditionals on -Wmaybe-uninitialized pragmas. 2015-10-27 23:42:20 +00:00
e_log2.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
e_log10.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
e_log.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_pow.c Eliminate redundant sign extensions in pow() 2016-01-04 14:55:38 -02:00
e_rem_pio2.c Format floating routines. 2013-10-17 16:03:24 +02:00
e_remainder.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sinh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gamma_product.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
gamma_productf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
halfulp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
k_cos.c Update. 2001-03-12 00:04:52 +00:00
k_rem_pio2.c Use math_narrow_eval more consistently. 2015-09-23 18:14:57 +00:00
k_sin.c Update. 2001-03-12 00:04:52 +00:00
k_tan.c Replace sysdeps/ieee754/dbl-64/k_tan.c with empty file 2012-02-26 16:10:46 +01:00
lgamma_neg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lgamma_product.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile powerpc: Fix incorrect results for pow when using FMA 2015-03-10 09:38:54 -04:00
MathLib.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa-arch.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpa.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpatan.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpexp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mplog.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpsqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mpsqrt.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mptan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
mydefs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
powtwo.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
root.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_asinh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_atan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_cbrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ceil.c Do not raise "inexact" from generic ceil (bug 15479). 2016-05-24 17:42:10 +00:00
s_copysign.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_cos.c Update. 2001-03-12 00:04:52 +00:00
s_erf.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
s_expm1.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_fabs.c 2015-05-28 Wilco Dijkstra <wdijkstr@arm.com> 2015-05-28 11:42:55 +01:00
s_finite.c Fix __finitel libm compat symbol version. 2016-01-20 19:04:43 +00:00
s_floor.c Do not raise "inexact" from generic floor (bug 15479). 2016-05-24 17:44:46 +00:00
s_fma.c Call math_opt_barrier inside if 2016-01-15 05:23:20 -08:00
s_fmaf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fpclassify.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_frexp.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_isinf.c math: add LDBL_CLASSIFY_COMPAT support 2015-12-03 13:00:46 -05:00
s_isnan.c math: add LDBL_CLASSIFY_COMPAT support 2015-12-03 13:00:46 -05:00
s_issignaling.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llrint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_llround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_log1p.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_logb.c Work around powerpc32 integer 0 converting to -0 (bug 887, bug 19049, bug 19050). 2015-10-05 17:46:50 +00:00
s_lrint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_lround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_modf.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
s_nearbyint.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_nexttoward.c Update. 1999-07-14 00:54:57 +00:00
s_remquo.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_rint.c Format floating routines. 2013-10-17 16:03:24 +02:00
s_round.c Do not raise "inexact" from generic round (bug 15479). 2016-05-24 17:46:55 +00:00
s_scalbln.c [BZ #6803] Set errno for scalbln, scalbn 2014-06-20 07:48:20 +05:30
s_scalbn.c Make scalbn set errno (bug 6803). 2015-09-16 21:11:00 +00:00
s_signbit.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_sin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_sincos.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_tan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_tanh.c Refactor code forcing underflow exceptions. 2015-09-23 22:42:30 +00:00
s_trunc.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sincos32.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sincos32.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sincostab.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
slowexp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
slowpow.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
t_exp2.h Update. 1999-07-14 00:54:57 +00:00
t_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uasncs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uatan.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uexp.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
uexp.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ulog.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ulog.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
upow.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
upow.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
urem.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
usncs.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utan.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
utan.tbl Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
w_exp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
x2y2m1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
x2y2m1f.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00