SLEEF (SIMD Library for Evaluating Elementary Functions) is a library that facilitates programming with SIMD instructions. It implements the trigonometric functions, inverse trigonometric functions, exponential and logarithmic functions in double precision without table look-ups, scattering from, or gathering into SIMD registers, or conditional branches. This library also includes some functions for evaluation in single precision.
|Tags||Mathematics Optimization simd|
|Operating Systems||OS Independent|
|Implementation||C sse avx Java avx2 fma4|
Release Notes: This release adds support for the ARM NEON instruction set. Higher accuracy single precision functions were added: sinf_u1, cosf_u1, sincosf_u1, tanf_u1, asinf_u1, acosf_u1, atanf_u1, atan2f_u1, logf_u1, and cbrtf_u1.
Release Notes: This release adds higher accuracy functions: sin_u1, cos_u1, sincos_u1, tan_u1, asin_u1, acos_u1, atan_u1, atan2_u1, log_u1, and cbrt_u1. These functions are slower than the standard functions, but evaluate the corresponding functions with at most 1 ulp of error.
Release Notes: This release added the remaining single precision functions: powf, sinhf, coshf, tanhf, exp2f, exp10f, log10f, and log1pf. It also added support for FMA4 (for AMD Bulldozer).
Release Notes: This release adds support for AVX2 and Intel Compiler.
Release Notes: This release fixes incorrect denormal number handling in ldexp, ldexpf, sing, and cosf. Support for the Go language has been removed.