llvm-project/libc/utils/FPUtil
Tue Ly 4e5f8b4d8d [libc] Add implementation of expm1f.
Use expm1f(x) = exp(x) - 1 for |x| > ln(2).
For |x| <= ln(2), divide it into 3 subintervals: [-ln2, -1/8], [-1/8, 1/8], [1/8, ln2]
and use a degree-6 polynomial approximation generated by Sollya's fpminmax for each interval.
Errors < 1.5 ULPs when we use fma to evaluate the polynomials.

Differential Revision: https://reviews.llvm.org/D101134
2021-06-10 14:58:34 -04:00
..
aarch64 [libc] Add hardware implementations of fma and fmaf for x86_64 and aarch64. 2021-04-21 04:31:27 +00:00
generic [libc] Add implementation of expm1f. 2021-06-10 14:58:34 -04:00
x86_64 [libc] Add hardware implementations of fma and fmaf for x86_64 and aarch64. 2021-04-21 04:31:27 +00:00
BasicOperations.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
BitPatterns.h [libc] Add implementation of expm1f. 2021-06-10 14:58:34 -04:00
CMakeLists.txt [libc] Add implementation of expm1f. 2021-06-10 14:58:34 -04:00
ClassificationFunctions.h [lib][NFC] Split the floating point util functions into multiple files. 2020-06-15 23:12:00 -07:00
DivisionAndRemainderOperations.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
DummyFEnv.h [libc] Add implementations of the remaining fenv functions. 2021-02-18 13:29:40 -08:00
FEnv.h [libc] Extend the current fenv functions to aarch64. 2021-01-19 12:47:54 -08:00
FMA.h [libc] Add hardware implementations of fma and fmaf for x86_64 and aarch64. 2021-04-21 04:31:27 +00:00
FPBits.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00
FloatOperations.h [libc] Add implementations long double fabsl and truncl functions. 2020-06-18 11:08:26 -07:00
FloatProperties.h [libc] Add implementations of ceil[f], floor[f] and trunc[f] from math.h. 2020-06-01 08:36:59 -07:00
Hypot.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00
LongDoubleBitsX86.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
ManipulationFunctions.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00
NearestIntegerOperations.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00
NextAfterLongDoubleX86.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
NormalFloat.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00
PolyEval.h [libc] Add implementation of expm1f. 2021-06-10 14:58:34 -04:00
Sqrt.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
SqrtLongDoubleX86.h [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
TestHelpers.cpp [libc] Make FPBits a union. 2021-04-13 09:21:35 -07:00
TestHelpers.h [libc][NFC] Make conversion from FPBits to the float point type explicit. 2021-04-17 05:22:20 +00:00