#simd #math #vector #libm #vector-math #ffi

nightly sys no-std sleef-sys

Rust FFI bindings to the SLEEF Vectorized Math Library

3 releases

Uses old Rust 2015

0.1.2 Jan 30, 2019
0.1.1 Aug 15, 2018
0.1.0 Aug 15, 2018

#1055 in Hardware support

Download history 58/week @ 2024-07-20 48/week @ 2024-07-27 41/week @ 2024-08-03 37/week @ 2024-08-10 41/week @ 2024-08-17 40/week @ 2024-08-24 30/week @ 2024-08-31 33/week @ 2024-09-07 33/week @ 2024-09-14 69/week @ 2024-09-21 97/week @ 2024-09-28 41/week @ 2024-10-05 41/week @ 2024-10-12 28/week @ 2024-10-19 39/week @ 2024-10-26 43/week @ 2024-11-02

155 downloads per month
Used in 4 crates

MIT/Apache

1MB
26K SLoC

C 25K SLoC // 0.0% comments Shell 321 SLoC // 0.1% comments Java 151 SLoC Rust 130 SLoC // 0.2% comments

Rust bindings for SLEEF

Travis-CI Status Appveyor Status Latest Version docs

SLEEF: SIMD Library for Evaluating Elementary Functions

Note: Rust does not support long double (80-bit precision floating-point types) and the SLEEF APIs that use it are not included in these bindings yet (they could probably be added to just handle long double as a bag of bytes**.

Cargo features

  • dft (default: disabled - equivalent to SLEEF's BUILD_DFT option): SLEEF also includes SIMD-vectorized and parallelized subroutines for discrete Fourier transform (DFT) with an API similar to FFTW.

Platform support

This wrapper supports the following platforms, but CI is not properly set up for all of them yet.

Linux targets: build run
x86_64-unknown-linux-gnu
aarch64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
MacOSX targets: build run
x86_64-apple-darwin
Windows targets: build run
x86_64-pc-windows-msvc

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in sleef-sys by you, as defined in the Apache-2.0 license, shall be triple licensed as above, without any additional terms or conditions.

Dependencies

~0–3.5MB
~56K SLoC