Crate simba[][src]

Simba is a crate defining a set of trait for writing code that can be generic with regard to the number of lanes of the numeric input value. Those traits are implemented by f32, u32, i16, bool as well as SIMD types like f32x4, u32x8, i16x2, etc.

One example of use-case applied by the nalgebra crate is to define generic methods like vector normalization that will work for Vector3<f32> as well as Vector3<f32x4>.

This makes it easier leverage the power of SIMD Array-of-Struct-of-Array (AoSoA) with less code duplication.

Cargo features

Two cargo features can be optionally enabled:

If none of those features are enabled, simba will still define all the scalar and SIMD traits. However, the SIMD traits won’t be implemented for any SIMD types. Therefore it is recommended to:

Modules

scalar

Traits implemented by scalar, non-SIMD, types.

simd

Traits implemented by SIMD types and non-SIMD types.