mirror of git://sourceware.org/git/glibc.git
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. |
||
---|---|---|
.. | ||
bits | ||
Implies | ||
Makefile | ||
Versions | ||
____longjmp_chk.S | ||
__longjmp.S | ||
__start_context.S | ||
arch-syscall.h | ||
bsd-_setjmp.S | ||
bsd-setjmp.S | ||
c++-types.data | ||
clone.S | ||
configure | ||
configure.ac | ||
dl-cache.h | ||
getcontext.S | ||
ipc_priv.h | ||
kernel_stat.h | ||
kstat_cp.h | ||
ld.abilist | ||
libBrokenLocale.abilist | ||
libanl.abilist | ||
libc.abilist | ||
libc_malloc_debug.abilist | ||
libc_sigaction.c | ||
libdl.abilist | ||
libm.abilist | ||
libnsl.abilist | ||
libpthread.abilist | ||
libresolv.abilist | ||
librt.abilist | ||
libthread_db.abilist | ||
libutil.abilist | ||
localplt.data | ||
longjmp.S | ||
makecontext.c | ||
personality.c | ||
pointer_guard.h | ||
setcontext.S | ||
setjmp.S | ||
shlib-versions | ||
sigcontextinfo.h | ||
sigjmp.S | ||
sigreturn_stub.S | ||
sizes.h | ||
swapcontext.c | ||
syscall.S | ||
syscall_cancel.S | ||
syscalls.list | ||
sysdep.h | ||
timer_t_was_int_compat.h | ||
ucontext_i.h | ||
vfork.S | ||
wordexp.c | ||
xstatconv.c |