glibc/sysdeps/unix/sysv/linux/powerpc
Joseph Myers 06caf53adf Implement C23 rootn.
C23 adds various <math.h> function families originally defined in TS
18661-4.  Add the rootn functions, which compute the Yth root of X for
integer Y (with a domain error if Y is 0, even if X is a NaN).  The
integer exponent has type long long int in C23; it was intmax_t in TS
18661-4, and as with other interfaces changed after their initial
appearance in the TS, I don't think we need to support the original
version of the interface.

As with pown and compoundn, I strongly encourage searching for worst
cases for ulps error for these implementations (necessarily
non-exhaustively, given the size of the input space).  I also expect a
custom implementation for a given format could be much faster as well
as more accurate, although the implementation is simpler than those
for pown and compoundn.

This completes adding to glibc those TS 18661-4 functions (ignoring
DFP) that are included in C23.  See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118592 regarding the C23
mathematical functions (not just the TS 18661-4 ones) missing built-in
functions in GCC, where such functions might usefully be added.

Tested for x86_64 and x86, and with build-many-glibcs.py.
2025-05-14 10:51:46 +00:00
..
bits linux/termio: remove <termio.h> and struct termio 2025-04-25 07:30:59 +02:00
powerpc32 Implement C23 rootn. 2025-05-14 10:51:46 +00:00
powerpc64 Implement C23 rootn. 2025-05-14 10:51:46 +00:00
sys
Implies
Makefile
Versions
cancellation-pc-check.h
configure sysdeps: powerpc: restore -mlong-double-128 check 2025-04-02 14:57:40 +01:00
configure.ac sysdeps: powerpc: restore -mlong-double-128 check 2025-04-02 14:57:40 +01:00
cpu-features.c
cpu-features.h
dl-auxv.h
dl-cache.h
dl-hwcap-info.c
dl-hwcap-info.h
dl-support.c
elision-conf.c Remove dl-procinfo.h 2025-03-05 11:22:09 -03:00
elision-conf.h
elision-lock.c
elision-timed.c
elision-trylock.c
elision-unlock.c
get_timebase_freq.c
gettimeofday.c
htm.h
internal-ioctl.h
ipc_priv.h
kernel-features.h
kernel_sigaction.h
kernel_termios.h
ldd-rewrite.sed
libc-start.c
libc-start.h
libc-vdso.h
libpthread-compat.c
nldbl-abi.h
pointer_guard.h
pthread_attr_setstack.c
pthread_attr_setstacksize.c
readelflib.c
rt-sysdep.c
rtld_static_init.h
sigcontextinfo.h
socket-constants-time64.h
struct_kernel_shmid64_ds.h
syscall.S
syscall_cancel.S
sysconf.c
sysdep.c
sysdep.h
test-gettimebasefreq-static.c
test-gettimebasefreq.c
test-powerpc-linux-sysconf.c
time.c
tst-hwcap-tunables.c
xstatver.h