AdamNiederer / faster

SIMD for humans
Mozilla Public License 2.0
1.56k stars 51 forks source link

u64x8 iterator by zero-extending each byte in a [u8] slice #59

Open alecmocatta opened 6 years ago

alecmocatta commented 6 years ago
vec![0u8; 100000].iter().map(|&x| {
    x as u64 * x as u64
}).sum::<u64>();

is essentially what I'd like to use this crate to SIMD-accelerate.

The issue I'm bumping into is reading the slice as u8x8 such that I can then use <u64x8 as From<u8x8>>::from to cast it.

What is the best way to do this currently?

Related to #8, #32 and #46.