aboutsummaryrefslogtreecommitdiff
path: root/newlib/libm/common/log.c
AgeCommit message (Collapse)AuthorFilesLines
2018-09-28Update Arm copyright notices in new math filesWilco Dijkstra1-2/+2
While working on the strstr patch I noticed several copyright headers of the new math functions are missing closing quotes after ``AS IS. I've added these. Also update spellings of Arm Ltd in a few places (but still use ARM LTD in upper case portion). Finally add SPDX identifiers to make everything consistent.
2018-07-06Move __HAVE_FAST_FMA to math_config.hSzabolcs Nagy1-1/+1
Define it consistently with other HAVE_* macros that only affect code using math_config.h. This is also closer to the Arm Optimized Routines code.
2018-07-06Fix code style and comments of new math codeSzabolcs Nagy1-21/+25
Synchronize code style and comments with Arm Optimized Routines, there are no code changes in this patch. This ensures different projects using the same code have consistent code style so bug fix patches can be applied more easily.
2018-06-27New log implementationSzabolcs Nagy1-0/+175
The new implementations are provided under !__OBSOLETE_MATH, it uses ISO C99 code. With default settings the worst case error in nearest rounding mode is 0.519 ULP with inlined fma and fma contraction. It uses a 2 KB lookup table, on aarch64 .text+.rodata size of libm.a is increased by 1703 bytes. The w_log.c wrapper is disabled since error handling is inline in the new code. New __HAVE_FAST_FMA and __HAVE_FAST_FMA_DEFAULT feature macros were added to enable selecting between the code path that uses fma and the one that does not. Targets supposed to set __HAVE_FAST_FMA_DEFAULT if they have single instruction fma and the compiler can actually inline it (gcc has __FP_FAST_FMA macro but that does not guarantee inlining with -fno-builtin-fma). Improvements on Cortex-A72: latency: 1.9x thruput: 2.3x