glibc/sysdeps/unix/sysv/linux/powerpc
Joseph Myers 79c52daf47 Implement C23 log2p1
C23 adds various <math.h> function families originally defined in TS
18661-4.  Add the log2p1 functions (log2(1+x): like log1p, but for
base-2 logarithms).

This illustrates the intended structure of implementations of all
these function families: define them initially with a type-generic
template implementation.  If someone wishes to add type-specific
implementations, it is likely such implementations can be both faster
and more accurate than the type-generic one and can then override it
for types for which they are implemented (adding benchmarks would be
desirable in such cases to demonstrate that a new implementation is
indeed faster).

The test inputs are copied from those for log1p.  Note that these
changes make gen-auto-libm-tests depend on MPFR 4.2 (or later).

The bulk of the changes are fairly generic for any such new function.
(sysdeps/powerpc/nofpu/Makefile only needs changing for those
type-generic templates that use fabs.)

Tested for x86_64 and x86, and with build-many-glibcs.py.
2024-05-20 13:41:39 +00:00
..
bits login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-04-19 14:38:17 +02:00
powerpc32 Implement C23 log2p1 2024-05-20 13:41:39 +00:00
powerpc64 Implement C23 log2p1 2024-05-20 13:41:39 +00:00
sys
Implies
Makefile
Versions
configure
configure.ac
cpu-features.c
cpu-features.h
dl-auxv.h
dl-cache.h
dl-support.c
elision-conf.c
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
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