aboutsummaryrefslogtreecommitdiff
path: root/libio/putwchar.c
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2023-12-01 09:49:45 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2023-12-04 15:52:11 +0000
commit63d0a35d5f223a3f4b68190567b7d4d44545bce5 (patch)
tree69b006288d047188fcd0b81906647f9168a9eb65 /libio/putwchar.c
parent8e755f5bc8f57d0034c12f34c11ce8a83103dc65 (diff)
downloadglibc-63d0a35d5f223a3f4b68190567b7d4d44545bce5.tar
glibc-63d0a35d5f223a3f4b68190567b7d4d44545bce5.tar.gz
glibc-63d0a35d5f223a3f4b68190567b7d4d44545bce5.tar.bz2
glibc-63d0a35d5f223a3f4b68190567b7d4d44545bce5.zip
math: Add new exp10 implementation
New implementation is based on the existing exp/exp2, with different reduction constants and polynomial. Worst-case error in round-to- nearest is 0.513 ULP. The exp/exp2 shared table is reused for exp10 - .rodata size of e_exp_data increases by 64 bytes. As for exp/exp2, targets with single-instruction rounding/conversion intrinsics can use them by toggling TOINT_INTRINSICS=1 and adding the necessary code to their math_private.h. Improvements on Neoverse V1 compared to current GLIBC master: exp10 thruput: 3.3x in [-0x1.439b746e36b52p+8 0x1.34413509f79ffp+8] exp10 latency: 1.8x in [-0x1.439b746e36b52p+8 0x1.34413509f79ffp+8] Tested on: aarch64-linux-gnu (TOINT_INTRINSICS, fma contraction) and x86_64-linux-gnu (!TOINT_INTRINSICS, no fma contraction) Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Diffstat (limited to 'libio/putwchar.c')
0 files changed, 0 insertions, 0 deletions