glibc/sysdeps/unix/sysv/linux/alpha
Joseph Myers 525f803984 Add fmaxmag, fminmag functions.
TS 18661-1 defines fmaxmag and fminmag functions that return the
argument with maximum / minimum magnitude (acting like fmax / fmin if
the arguments have the same magnitude or either argument is a NaN).
These correspond to the IEEE 754-2008 operations maxNumMag and
minNumMag.  This patch implements these functions for glibc.  They are
implemented with type-generic templates.  Tests are based on those for
fmax and fmin.

Tested for x86_64, x86, mips64 and powerpc.

	* math/bits/mathcalls.h [__GLIBC_USE (IEC_60559_BFP_EXT)]
	(fmaxmag): New declaration.
	(fminmag): Likewise.
	* math/tgmath.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (fmaxmag): New
	macro.
	[__GLIBC_USE (IEC_60559_BFP_EXT)] (fminmag): Likewise.
	* math/Versions (fmaxmag): New libm symbol at version GLIBC_2.25.
	(fmaxmagf): Likewise.
	(fmaxmagl): Likewise.
	(fminmag): Likewise.
	(fminmagf): Likewise.
	(fminmagl): Likewise.
	* math/Makefile (gen-libm-calls): Add s_fmaxmagF and s_fminmagF.
	* math/s_fmaxmag_template.c: New file.
	* math/s_fminmag_template.c: Likewise.
	* math/libm-test.inc (fmaxmag_test_data): New array.
	(fmaxmag_test): New function.
	(fminmag_test_data): New array.
	(fminmag_test): New function.
	(main): Call fmaxmag_test and fminmag_test.
	* math/test-tgmath.c (NCALLS): Increase to 132.
	(F(compile_test)): Call fmaxmag and fminmag.
	(F(fminmag)): New function.
	(F(fmaxmag)): Likewise.
	* manual/arith.texi (Misc FP Arithmetic): Document fminmag,
	fminmagf, fminmagl, fmaxmag, fmaxmagf and fmaxmagl.
	* manual/libm-err-tab.pl (@all_functions): Add fmaxmag and
	fminmag.
	* sysdeps/ieee754/ldbl-opt/nldbl-fmaxmag.c: New file.
	* sysdeps/ieee754/ldbl-opt/nldbl-fminmag.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_fmaxmagl.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/s_fminmagl.c: Likewise.
	* sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add fmaxmag
	and fminmag.
	(CFLAGS-nldbl-fmaxmag.c): New variable.
	(CFLAGS-nldbl-fminmag.c): 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-12-20 00:46:53 +00:00
..
alpha
alphaev6/fpu
alphaev67/fpu
bits Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
fpu
sys Make Alpha <sys/user.h> self-contained. 2016-11-17 14:15:03 +00:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
a.out.h
adjtime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
aio_cancel.c
arch-fork.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
brk.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
c++-types.data
clone.S Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
configure
configure.ac
creat.c
dl-auxv.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-brk.S
dl-fxstatat64.c
dl-support.c
dl-sysdep.c
fraiseexcpt.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fstatfs64.c
fstatvfs64.c
fstatvfs.c
fxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
fxstatat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getclktck.c
getcontext.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getdents64.c
getdents.c
gethostname.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
getsysstats.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
glob.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ieee_get_fp_control.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ieee_set_fp_control.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Implies
internal_statvfs64.c
ioperm.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
ipc_priv.h
kernel_sigaction.h
kernel_stat.h Allow [f]statfs64 to alias [f]statfs 2016-11-22 09:59:12 -08:00
kernel_sysinfo.h
kernel_termios.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
kernel-features.h Define __ASSUME_ST_INO_64_BIT on all platforms. 2016-11-07 13:26:27 -08:00
ld.abilist ld.so: Remove __libc_memalign 2016-11-30 16:23:58 +01:00
libanl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libBrokenLocale.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libc.abilist New string function explicit_bzero (from OpenBSD). 2016-12-16 16:21:54 -05:00
libcrypt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libdl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libm.abilist Add fmaxmag, fminmag functions. 2016-12-20 00:46:53 +00:00
libnsl.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libpthread.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libresolv.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
librt.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libthread_db.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
libutil.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
localplt.data ld.so: Remove __libc_memalign 2016-11-30 16:23:58 +01:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
makecontext.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Makefile Consolidate lseek/lseek64/llseek implementations 2016-11-08 16:04:33 -02:00
msgctl.c
nldbl-abi.h
oldglob.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pipe.S
pt-vfork.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
rt_sigaction.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
semctl.c
setcontext.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setfpucw.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
shlib-versions
shmctl.c
sigaction.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigprocmask.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sigsuspend.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sizes.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
statfs64.c
statvfs64.c
statvfs.c
swapcontext.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
syscalls.list Adjust kernel-features.h defaults for recvmsg and sendmsg 2016-05-25 17:27:57 -03:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysdep-cancel.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
timer_create.c
timer_delete.c
timer_getoverr.c
timer_gettime.c
timer_settime.c
ucontext-offsets.sym
Versions Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00
vfork.S Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
wordexp.c
xstat.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstatconv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
xstatconv.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00