glibc/sysdeps
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
..
aarch64 aarch64: fix unwinding in longjmp 2025-05-13 13:00:57 +01:00
alpha
arc
arm
csky
generic S390: Use cfi_val_offset instead of cfi_escape. 2025-05-14 10:35:55 +02:00
gnu
hppa
htl stdlib: Fix qsort memory leak if callback throws (BZ 32058) 2025-04-02 18:01:55 +00:00
hurd
i386
ieee754 Implement C23 rootn. 2025-05-14 10:51:46 +00:00
loongarch Fix typo in comment 2025-03-31 10:54:52 -03:00
m68k
mach Implement C23 rootn. 2025-05-14 10:51:46 +00:00
microblaze
mips
nptl stdlib: Fix qsort memory leak if callback throws (BZ 32058) 2025-04-02 18:01:55 +00:00
or1k
posix
powerpc powerpc64le: Remove configure check for objcopy >= 2.26. 2025-05-14 10:35:55 +02:00
pthread hurd: Fix tst-stack2 test build on Hurd 2025-05-09 10:19:37 -03:00
riscv RISC-V: Use builtin for ffs and ffsll while supported extension available 2025-04-28 09:51:59 -03:00
s390 S390: Use cfi_val_offset instead of cfi_escape. 2025-05-14 10:35:55 +02:00
sh
sparc
unix Implement C23 rootn. 2025-05-14 10:51:46 +00:00
wordsize-32 stdio-common: Reject integer prefixes in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
wordsize-64 stdio-common: Reject integer prefixes in scanf [BZ #12701] 2025-03-28 12:35:53 +00:00
x86 x86: Detect Intel Diamond Rapids 2025-04-12 09:43:15 -07:00
x86_64 elf: tst-audit10: split AVX512F code into dedicated functions [BZ #32882] 2025-04-22 23:39:59 +02:00