In this library, functions for evaluating some elementary functions are implemented. The algorithm is intentended for efficient evaluation utilizing SIMD instruction sets like SSE or AVX, but it is also fast using usual scalar operations. The package contains a few directories in which implementation in the corresponding languages are contained. You can run "make test" in order to test the functions in each directory. The software is in public domain. You can use the software without any obligation. Author : Naoki Shibata Main download page : http://shibatch.sourceforge.net/ -- The trigonometric functions are tested to return values with specified accuracy when the argument is within the following range. Double precision trigonometric functions : |arg| <= 10000000 Single precision trigonometric functions : |arg| <= 10000 -- History 2.100 Added support for AVX-512F and Clang Extended Vectors. 2.90 Added ilogbf. All the reported bugs(listed below) are fixed. * Log function returned incorrect values when the argument is very small. * Signs of returned values were incorrect when the argument is signed zero. * Tester incorrectly counted ULP in some cases. * ilogb function returned incorrect values in some cases. 2.80 Added support for ARM NEON. Added higher accuracy single precision functions : sinf_u1, cosf_u1, sincosf_u1, tanf_u1, asinf_u1, acosf_u1, atanf_u1, atan2f_u1, logf_u1, and cbrtf_u1. 2.70 Added 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 evaluate the corresponding function with at most 1 ulp of error. 2.60 Added the remaining single precision functions : powf, sinhf, coshf, tanhf, exp2f, exp10f, log10f, log1pf. Added support for FMA4 (for AMD Bulldozer). Added more test cases. Fixed minor bugs (which degraded accuracy in some rare cases). 2.50 Added support for AVX2. SLEEF now compiles with ICC. 2.40 Fixed incorrect denormal/nonnumber handling in ldexp, ldexpf, sinf and cosf. Removed support for Go language. 2.31 Added sincosf. 2.30 Added single precision functions : sinf, cosf, tanf, asinf, acosf, atanf, logf, expf, atan2f and cbrtf. 2.20 Added exp2, exp10, expm1, log10, log1p, and cbrt. 2.10 asin() and acos() are back. Added ilogb() and ldexp(). Added hyperbolic functions. Eliminated dependency on frexp, ldexp, fabs, isnan and isinf. 2.00 All of the algorithm has been updated. Both accuracy and speed are improved since version 1.10. Denormal number handling is also improved. 1.10 AVX support is added. Accuracy tester is added. 1.00 Initial release