#simd #simd-vector

nightly simdvec

Vectors, but with the operational speedup of SIMD!

1 unstable release

0.1.0 Jul 19, 2024

#724 in Concurrency

Download history 130/week @ 2024-07-16 17/week @ 2024-07-23 10/week @ 2024-09-10 6/week @ 2024-09-17 15/week @ 2024-09-24 19/week @ 2024-10-01 2/week @ 2024-10-08

52 downloads per month

MIT license

13KB
363 lines

SIMD Vec

An easy way to make/work with arbitrary length Vecs, with the benefits of SIMD.

Very much a WIP, a lot of methods still need implementing, and documentation is currently nonexistant. Contributions are welcome!

Examples

let vec = vec![1, 2, 3]; // or any other Vec/slice of Simd-compatible types
let simd_vec: SimdVec<_, 16> = vec.into(); // or SimdVec::from([1, 2, 3]), ...

// do some operations
assert_eq!(&simd_vec + SimdVec::from([5, 6, 7, 6, 5, 4]), SimdVec::from([6, 8, 10, 6, 5, 4]));
assert_eq!(simd_vec.reduce_sum(), 6);

// ... and more, mostly replicated from methods that Simd types have.

No runtime deps