glibc/sysdeps/alpha/fpu
Aurelien Jarno b74d259fe7 alpha: fix trunc for big input values
The alpha specific version of trunc and truncf always add and subtract
0x1.0p23 or 0x1.0p52 even for big values. This causes this kind of
errors in the testsuite:

  Failure: Test: trunc_towardzero (0x1p107)
  Result:
   is:          1.6225927682921334e+32   0x1.fffffffffffffp+106
   should be:   1.6225927682921336e+32   0x1.0000000000000p+107
   difference:  1.8014398509481984e+16   0x1.0000000000000p+54
   ulp       :  0.5000
   max.ulp   :  0.0000

Change this by returning the input value when its absolute value is
greater than 0x1.0p23 or 0x1.0p52. NaN have to go through the add and
subtract operations to get possibly silenced.

Finally remove the code to handle inexact exception, trunc should never
generate such an exception.

Changelog:
	* sysdeps/alpha/fpu/s_trunc.c (__trunc): Return the input value
	when its absolute value is greater than 0x1.0p52.
	[_IEEE_FP_INEXACT] Remove.
	* sysdeps/alpha/fpu/s_truncf.c (__truncf): Return the input value
	when its absolute value is greater than 0x1.0p23.
	[_IEEE_FP_INEXACT] Remove.
2016-08-02 09:18:59 +02:00
..
bits Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
cabsf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
cargf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
cfloat-compat.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
cimagf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
conjf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
crealf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sqrt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
e_sqrtf.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
fclrexcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fedisblxcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feenablxcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetexcept.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fegetround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feholdexcpt.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fenv_libc.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fesetenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fesetround.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
feupdateenv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fgetexcptflg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fpu_control.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fsetexcptflg.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ftestexcept.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
libm-test-ulps Update Alpha libm-test-ulps 2016-01-25 10:43:41 -08:00
math_private.h alpha: Implement math_opt_barrier and math_force_eval 2014-07-03 08:56:55 -07:00
s_cacosf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_cacoshf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_casinf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_casinhf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_catanf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_catanhf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ccosf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ccoshf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ceil.c alpha: fix ceil on sNaN input 2016-08-02 09:18:59 +02:00
s_ceilf.c alpha: fix ceil on sNaN input 2016-08-02 09:18:59 +02:00
s_cexpf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_clog10f.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_clogf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_copysign.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_copysignf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_cpowf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_cprojf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_csinf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_csinhf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_csqrtf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ctanf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_ctanhf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fabs.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fabsf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_floor.c alpha: fix floor on sNaN input 2016-08-02 09:18:59 +02:00
s_floorf.c alpha: fix floor on sNaN input 2016-08-02 09:18:59 +02:00
s_fmax.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fmaxf.S Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_fmin.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_fminf.S Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_isnan.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_isnanf.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_llrint.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_llrintf.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_llround.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_llroundf.c Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00
s_lrint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_lrintf.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_lroundf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_nearbyint.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
s_rint.c alpha: fix rint on sNaN input 2016-08-02 09:18:59 +02:00
s_rintf.c alpha: fix rint on sNaN input 2016-08-02 09:18:59 +02:00
s_trunc.c alpha: fix trunc for big input values 2016-08-02 09:18:59 +02:00
s_truncf.c alpha: fix trunc for big input values 2016-08-02 09:18:59 +02:00
Versions Relocate alpha from ports to libc 2014-02-12 07:00:06 -08:00