glibc/sysdeps/ieee754/dbl-64
Joseph Myers cc6a8d7457 Add totalordermag, totalordermagf, totalordermagl.
In addition to the totalorder functions, TS 18661-1 defines
totalordermag functions, which do the same comparison but on the
absolute values of the arguments.  This patch implements these
functions for glibc, including the type-generic macro in <tgmath.h>.
In general the implementations are similar to but simpler than those
for the totalorder functions.

Tested for x86_64, x86, mips64 and powerpc.

	* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
	(totalordermag): New declaration.
	* math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (totalordermag):
	New macro.
	* math/Versions (totalordermag): New libm symbol at version
	GLIBC_2.25.
	(totalordermagf): Likewise.
	(totalordermagl): Likewise.
	* math/Makefile (libm-calls): Add s_totalordermagF.
	* math/libm-test.inc (totalordermag_test_data): New array.
	(totalordermag_test): New function.
	(main): Call totalordermag_test.
	* math/test-tgmath.c (NCALLS): Increase to 125.
	(F(compile_test)): Call totalordermag.
	(F(totalordermag)): New function.
	* manual/arith.texi (FP Comparison Functions): Document
	totalordermag, totalordermagf and totalordermagl.
	* manual/libm-err-tab.pl: Update comment on interfaces without
	ulps tabulated.
	* sysdeps/ieee754/dbl-64/s_totalordermag.c: New file.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c: Likewise.
	* sysdeps/ieee754/flt-32/s_totalordermagf.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_totalordermagl.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_totalordermagl.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/nldbl-totalordermag.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add
	totalordermag.
	(CFLAGS-nldbl-totalordermag.c): New variable.
	* sysdeps/ieee754/ldbl-128ibm/test-totalorderl-ldbl-128ibm.c
	(do_test): Also test totalordermagl.
	* sysdeps/ieee754/ldbl-96/test-totalorderl-ldbl-96.c (do_test):
	Likewise.
	* sysdeps/nacl/libm.abilist: Update.
	* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist:
	Likewise.
	* sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
2016-10-15 00:36:48 +00:00
..
wordsize-64 Add totalordermag, totalordermagf, totalordermagl. 2016-10-15 00:36:48 +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 Use __builtin_fma more in dbl-64 code. 2016-09-30 15:49:51 +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 Fix dbl-64 asin (sNaN) (bug 20213). 2016-06-06 22:21:11 +00:00
e_atan2.c Fix dbl-64 atan2 (sNaN, qNaN) (bug 20252). 2016-06-13 21:43:22 +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 Fix warnings from latest GCC. 2016-10-14 12:53:27 -07: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 Merge common usage of mul_split function 2016-08-19 11:29:43 -05: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 Get rid of array-bounds warning in __kernel_rem_pio2[f] with gcc 6.1 -O3. 2016-08-18 12:20:35 +02: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 Merge common usage of mul_split function 2016-08-19 11:29:43 -05: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 Fix frexp (NaN) (bug 20250). 2016-06-13 17:27:19 +00: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_nextup.c Add nextup and nextdown math functions 2016-06-16 21:37:45 +05:30
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 comments for some functions in s_sin.c 2016-10-06 13:09:02 +05:30
s_sincos.c Adjust calls to do_sincos_1 and do_sincos_2 in s_sincos.c 2016-10-06 12:57:07 +05:30
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_totalorder.c Add totalorder, totalorderf, totalorderl. 2016-10-12 01:20:30 +00:00
s_totalordermag.c Add totalordermag, totalordermagf, totalordermagl. 2016-10-15 00:36:48 +00:00
s_trunc.c sparc64: add a VIS3 version of ceil, floor and trunc 2016-08-03 13:35:22 +02: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 Merge common usage of mul_split function 2016-08-19 11:29:43 -05:00
x2y2m1f.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00