glibc/sysdeps/mach
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
..
htl Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
hurd Implement C23 rootn. 2025-05-14 10:51:46 +00:00
i386 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
include Define __mig_strlen to support dynamically sized strings in hurd RPCs 2023-05-01 02:24:04 +02:00
sys
x86 Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
x86_64 hurd: Set up the basic tree for x86_64-gnu 2023-02-12 16:12:06 +01:00
Makefile Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
Subdirs
_strerror.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
adjtime.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
clock_gettime.c mach: Use the host_get_time64 to replace the deprecated host_get_time for CLOCK_REALTIME when it's available 2025-03-25 01:10:10 +01:00
clock_nanosleep.c hurd: Add CLOCK_MONOTONIC to clock_nanosleep 2025-01-12 22:47:00 +01:00
configure mach: Use the host_get_time64 to replace the deprecated host_get_time for CLOCK_REALTIME when it's available 2025-03-25 01:10:10 +01:00
configure.ac mach: Use the host_get_time64 to replace the deprecated host_get_time for CLOCK_REALTIME when it's available 2025-03-25 01:10:10 +01:00
getloadavg.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
getpagesize.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
getsysstats.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libc-lock.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
libmachuser.abilist
mach_rpc.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
mprotect.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
msync.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
munmap.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
pagecopy.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
readonly-area-fallback.c debug: Improve '%n' fortify detection (BZ 30932) 2025-03-21 15:46:48 -03:00
sched_yield.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sleep.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
strerror_l.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
sysdep.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
thread_state.h Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
usleep.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00
xpg-strerror.c Update copyright dates with scripts/update-copyrights 2025-01-01 11:22:09 -08:00