Go to file
2020-09-29 09:02:16 +10:00
crates/core_simd Remove vectors under 64-bit width 2020-09-26 19:31:14 -04:00
.gitignore Add initial type implementations 2020-09-22 19:41:42 -04:00
.travis.yml add i586 targets 2020-09-29 09:02:16 +10:00
beginners-guide.md resolve https://github.com/rust-lang/stdsimd/pull/8#discussion_r495584133 2020-09-27 10:55:49 -06:00
Cargo.toml Add initial type implementations 2020-09-22 19:41:42 -04:00
README.md missed a type 2020-09-26 21:20:34 -06:00

stdsimd

Code repository for the Portable SIMD Project Group.

Code Organization

Currently the crate is organized so that each element type is a file, and then the 64-bit, 128-bit, 256-bit, and 512-bit vectors using those types are contained in said file.

All types are then exported as a single, flat module.

Depending on the size of the primitive type, the number of lanes the vector will have varies. For example, 128-bit vectors have four f32 lanes and two f64 lanes.

The supported element types are as follows:

  • Floating Point: f32, f64
  • Signed Integers: i8, i16, i32, i64, i128, isize
  • Unsigned Integers: u8, u16, u32, u64, u128, usize
  • Masks: mask8, mask16, mask32, mask64, mask128, masksize

Floating point, signed integers, and unsigned integers are the primitive types you're already used to. The mask types are "truthy" values, but they use the number of bits in their name instead of just 1 bit like a normal bool uses.