sleef

Math functions for SIMD vectors


Keywords
simd, math, libm
Licenses
MIT/Apache-2.0

Documentation

crates.io crates.io Released API docs CI

sleef-rs

Rust port of Sleef math library based on Portable SIMD Vectors a.k.a. core::simd

Usage

Requires nightly feature portable_simd.

You can call math functions directly:

#![feature(portable_simd)]

use core::simd::f64x2;

fn main() {
    let input = f64x2::from_array([1.43, 0.57]);
    let output = sleef::f64x::sin_u10(input);
    println!("sin(α) = {:?}", output);
}

or use Sleef trait:

#![feature(portable_simd)]

use core::simd::f64x2;
use sleef::Sleef;

fn main() {
    let input = f64x2::from_array([1.43, 0.57]);
    let output = input.sin();
    println!("sin(α) = {:?}", output);
}