mirror of git://sourceware.org/git/glibc.git
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 | ||
| Makefile | ||
| Subdirs | ||
| 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 | ||
| mempcpy.S | ||
| memusage.h | ||
| preconfigure | ||
| sparc-ifunc.h | ||
| sparc-mcount.S | ||
| stackinfo.h | ||
| sysdep.h | ||
| unwind-arch.h | ||