glibc/sysdeps/ieee754/ldbl-128
Joseph Myers 797ba44ba2 Add bits/floatn.h defines for more _FloatN / _FloatNx types.
The bits/floatn.h header currently only has defines relating to
_Float128.  This patch adds defines relating to other _FloatN /
_FloatNx types.

The approach taken is to add defines for all _FloatN / _FloatNx types
known to GCC, and to put them in a common bits/floatn-common.h header
included at the end of all the individual bits/floatn.h headers.  If
in future some defines become different for different glibc
configurations, they will move out into the separate bits/floatn.h
headers.

Some defines are expected always to be the same across glibc ports.
Corresponding defines are nevertheless put in this header.  The intent
is that where there are conditionals (in headers or in non-installed
files) that can just repeat the same or nearly the same logic for each
floating-point type, they should do so, even if in fact the cases for
some types could be unconditionally present or absent because the same
conditionals are true or false for all glibc configurations.  This
should make the glibc code with such conditionals easier to read,
because the reader can just see that the same conditionals are
repeated for each type, rather than seeing different conditionals for
different types and needing to reason, at each location with such
differences, why those differences are indeed correct there.  (Cases
involving per-format rather than per-type logic are more likely still
to need differences in how they handle different types.)

Having such defines and conditionals also helps in incremental
preparation for adding _Float32 / _Float64 / _Float32x / _Float64x
function aliases.  I intend subsequent patches to add such
conditionals corresponding to those already present for _Float128, as
well as making more architecture-specific function implementations use
common macros to define aliases in preparation for adding such _FloatN
/ _FloatNx aliases.

Tested for x86_64.

	* bits/floatn-common.h: New file.
	* math/Makefile (headers): Add bits/floatn-common.h.
	* bits/floatn.h: Include <bits/floatn-common.h>.
	* sysdeps/ia64/bits/floatn.h: Likewise.
	* sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
	* sysdeps/mips/ieee754/bits/floatn.h: Likewise.
	* sysdeps/powerpc/bits/floatn.h: Likewise.
	* sysdeps/x86/bits/floatn.h: Likewise.
2017-10-20 21:42:51 +00:00
..
bits Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
e_acoshl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_acosl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
e_asinl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
e_atan2l.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_atanhl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_coshl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
e_exp10l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
e_expl.c Fix cexpl when compiled with latest GCC 2017-07-21 09:47:57 -07:00
e_fmodl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_gammal_r.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_hypotl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_ilogbl.c ldbl-128: Rename 'long double' to '_Float128' 2016-08-31 10:38:11 -05:00
e_j0l.c Fix y0 and y1 exception handling for zero input [BZ #21134] 2017-02-15 10:30:59 -02:00
e_j1l.c Fix y0 and y1 exception handling for zero input [BZ #21134] 2017-02-15 10:30:59 -02:00
e_jnl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_lgammal_r.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_log2l.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_log10l.c Use fabs(f/l) rather than __fabs 2017-09-29 18:54:24 +01:00
e_logl.c Remove unneeded declarations from math_private.h 2017-04-10 12:20:47 -03:00
e_powl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_rem_pio2l.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_remainderl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
e_sinhl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
float128-abi.h Add _Float128 function aliases. 2017-10-18 17:37:18 +00:00
gamma_productl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ieee754.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
k_cosl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
k_sincosl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
k_sinl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
k_tanl.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05:00
ldbl2mpn.c float128: Add conversion from float128 to mpn 2017-06-07 17:03:43 -03:00
lgamma_negl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lgamma_productl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makeconfig Add _Float128 function aliases. 2017-10-18 17:37:18 +00:00
Makefile * sysdeps/ieee754/ldbl-128/Makefile: New file. 2007-03-14 17:36:18 +00:00
math_ldbl.h Allow direct use of math_ldbl.h in testsuite. 2017-02-25 10:40:48 -05:00
mpn2ldbl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf_fphex_macros.h Refactor PRINT_FPHEX_LONG_DOUBLE into a reusable macro 2017-06-07 17:06:31 -03:00
printf_fphex.c Refactor PRINT_FPHEX_LONG_DOUBLE into a reusable macro 2017-06-07 17:06:31 -03:00
s_asinhl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_atanl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_cbrtl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_ceill.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_copysignl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_cosl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_erfl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_expm1l.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fabsl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_finitel.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_floorl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fma.c Use libm_alias_double in ldbl-128, ldbl-96 fma. 2017-10-06 20:23:58 +00:00
s_fmal.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fpclassifyl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_frexpl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fromfpl_main.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fromfpl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_fromfpxl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_getpayloadl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_isinfl.c ldbl-128: Use mathx_hidden_def inplace of hidden_def 2017-05-04 14:47:27 -03:00
s_isnanl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_issignalingl.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_llrintl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_llroundl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_log1pl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
s_logbl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_lrintl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_lroundl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_modfl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_nearbyintl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_nextafterl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_nexttoward.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_nexttowardf.c Consistently use uintN_t not u_intN_t in libm. 2017-08-03 19:55:04 +00:00
s_nextupl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_remquol.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_rintl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_roundevenl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_roundl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_scalblnl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
s_scalbnl.c ldbl-128: Use L(x) macro for long double constants 2016-09-13 15:33:59 -05:00
s_setpayloadl_main.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_setpayloadl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_setpayloadsigl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_signbitl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s_sincosl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_sinl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_tanhl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_tanl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_totalorderl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_totalordermagl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_truncl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_ufromfpl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
s_ufromfpxl.c Use libm_alias_ldouble for ldbl-128 functions. 2017-10-06 17:45:05 +00:00
strtod_nan_ldouble.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtold_l.c Support strtof128 etc. aliases. 2017-10-16 13:22:11 +00:00
t_expl.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
t_sincosl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x2y2m1l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00