Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2018-06-22 20:12:26 +0300
committerCorinna Vinschen <corinna@vinschen.de>2018-06-27 16:40:49 +0300
commitfb929067dbb05bfc9156a5f3e2bfc72dc951ade1 (patch)
tree94822a31d556921edcf9c35283b0577c5e02b425 /newlib/libm/common/log_data.c
parentcfbcbd1c95b5cbd40650b188027f4ef1850ac236 (diff)
New exp and exp2 implementations
The new implementations are provided under !__OBSOLETE_MATH, they use ISO C99 code. There are several settings, with the default one the worst case error in nearest rounding mode is 0.509 ULP for exp and 0.507 ULP for exp2 when a multiply and add is contracted into an fma. They use a shared 2 KB lookup table, on aarch64 .text+.rodata size of libm.a is increased by 1868 bytes. The w_*.c wrappers are disabled for the new code as it takes care of error handling inline. The old exp2(x) code used to be just pow(2,x) so the speedup there is more significant. The file name has no special prefix to avoid any name collision with existing files. Improvements on Cortex-A72: exp latency: 3.2x exp thruput: 4.1x exp2 latency: 7.8x exp2 thruput: 18.8x
Diffstat (limited to 'newlib/libm/common/log_data.c')
0 files changed, 0 insertions, 0 deletions