[PATCH v2 0/1] aarch64: Add optimized version of sinf and cosf
Ashwin Sekhar T K
ashwin.sekhar@caviumnetworks.com
Thu Jul 6 09:55:00 GMT 2017
The v2 version of this patch has the C version of the sinf and cosf
as suggested in reviews for v1.
The max ulp error for different code path intervals are given below. The error
was calculated by comparing to output of sin().
---------------------------------
Interval ULP Error
---------------------------------
0 < x < 2^-27 0.000000
2^-27 <= x < 2^-5 0.500000
2^-5 <= x < pi/4 0.500000
pi/4 <= x < 9*pi/4 0.500001
9*pi/4 <= x < 2^23 0.500001
2^23 <= x < Inf 0.500001
(The above were observed in case of all rounding modes)
The patchset was tested using "make check" for the math sub-directory.
The tests were run on linux 4.4.0-45-generic on ThunderX88 platform.
v2:
* Re-write complete implementation from assembly to C.
* Moved the source files from sysdeps/aarch64/fpu/multiarch to
sysdeps/aarch64/fpu
Ashwin Sekhar T K (1):
aarch64: Add optimized version of sinf and cosf
sysdeps/aarch64/fpu/chebyshev.h | 84 ++++++++++++++++++++++++
sysdeps/aarch64/fpu/reduce.h | 142 ++++++++++++++++++++++++++++++++++++++++
sysdeps/aarch64/fpu/s_cosf.c | 110 +++++++++++++++++++++++++++++++
sysdeps/aarch64/fpu/s_sinf.c | 120 +++++++++++++++++++++++++++++++++
4 files changed, 456 insertions(+)
create mode 100644 sysdeps/aarch64/fpu/chebyshev.h
create mode 100644 sysdeps/aarch64/fpu/reduce.h
create mode 100644 sysdeps/aarch64/fpu/s_cosf.c
create mode 100644 sysdeps/aarch64/fpu/s_sinf.c
--
2.12.2
More information about the Libc-alpha
mailing list