dimforge / simba

Set of mathematical traits to facilitate the use of SIMD-based AoSoA (Array of Struct of Array) storage pattern.
Apache License 2.0
290 stars 29 forks source link

Add portable_simd support #45

Closed farnoy closed 3 months ago

farnoy commented 1 year ago

Fixes #33

Does not have acceleration for trigonometric functions due to https://github.com/rust-lang/portable-simd/issues/6

Follows the packed_simd implementation closely, but masks are called mask<$elt>x<$lanes> not m<$elt>x<$lanes>

Has a few more things than packed_simd like native recip, floor, ceil, trunc, but crucially it's missing trigonometry accelration.

sebcrozet commented 3 months ago

Thank you for this PR! Since it’s been a while, I took the liberty of rebasing on top of master and updated to the latest nightly.