mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 16:50:07 +00:00
9acda61d94
For j0f/j1f/y0f/y1f, the largest error for all binary32 inputs is reduced to at most 9 ulps for all rounding modes. The new code is enabled only when there is a cancellation at the very end of the j0f/j1f/y0f/y1f computation, or for very large inputs, thus should not give any visible slowdown on average. Two different algorithms are used: * around the first 64 zeros of j0/j1/y0/y1, approximation polynomials of degree 3 are used, computed using the Sollya tool (https://www.sollya.org/) * for large inputs, an asymptotic formula from [1] is used [1] Fast and Accurate Bessel Function Computation, John Harrison, Proceedings of Arith 19, 2009. Inputs yielding the new largest errors are added to auto-libm-test-in, and ulps are regenerated for various targets (thanks Adhemerval Zanella). Tested on x86_64 with --disable-multi-arch and on powerpc64le-linux-gnu. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> |
||
---|---|---|
.. | ||
bits | ||
fpu | ||
nptl | ||
sparc32 | ||
sparc64 | ||
sys | ||
abort-instr.h | ||
atomic-machine.h | ||
backtrace.c | ||
configure | ||
configure.ac | ||
cpu_relax.c | ||
crti.S | ||
crtn.S | ||
dl-dtprocnum.h | ||
dl-procinfo.c | ||
dl-procinfo.h | ||
dl-sysdep.h | ||
dl-tls.h | ||
elf-initfini.h | ||
gccframe.h | ||
ldsodefs.h | ||
machine-gmon.h | ||
Makefile | ||
mempcpy.S | ||
memusage.h | ||
preconfigure | ||
sparc-ifunc.h | ||
sparc-mcount.S | ||
stackinfo.h | ||
Subdirs | ||
sysdep.h | ||
unwind-arch.h |