Projects / SLEEF

SLEEF

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
Licenses
Operating Systems
Implementation
Translations

Recent releases

  •  18 May 2013 08:23

    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.

    •  30 Apr 2013 08:46

      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.

      •  26 Mar 2013 08:04

        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).

        •  12 Mar 2013 09:26

          Release Notes: This release adds support for AVX2 and Intel Compiler.

          •  07 Mar 2013 12:52

            Release Notes: This release fixes incorrect denormal number handling in ldexp, ldexpf, sing, and cosf. Support for the Go language has been removed.

            Recent comments

            26 Mar 2013 08:09 shibatch

            Hi Akos,

            Thank you for your kind comment. I will continue to try improving the library when I have free time to spend.

            12 Mar 2013 16:43 x3k30c

            This is an excellent library, code is very clean. Understandable, since the necessary explanation is provided in the documentation/presentation slides.
            It supports the most modern instruction sets (as with 2.50, even AVX2 is a possibility), and can be easily compiled for a variety of platforms even with different compilers.
            It works well with scalar operations too. The whole library is very small as well as the code.

            Clever, precise and entirely free.

            (personally, I'm using it with MinGW64 without problems, targeted architecture is X64 SSE2, but as an assembly proficient I would encourage anyone to use it)

            Great work Mr. Shibata!

            Regards,

            Akos

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.