Trait simd_aligned::traits::Simd

source ·
pub trait Simd {
    type Element;
    type LanesType;

    const LANES: usize;

    // Required method
    fn splat(t: Self::Element) -> Self;
}
Expand description

This is mostly copy-paste from packed_simd, where this trait is unfortunately sealed right now. In the future this might come from std::simd.

Required Associated Types§

source

type Element

Element type of the SIMD vector

source

type LanesType

The type: [u32; Self::N].

Required Associated Constants§

source

const LANES: usize

The number of elements in the SIMD vector.

Required Methods§

source

fn splat(t: Self::Element) -> Self

Added for convenience

Implementors§

source§

impl Simd for f32x2

§

type Element = f32

§

type LanesType = [f32; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for f32x4

§

type Element = f32

§

type LanesType = [f32; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for f32x8

§

type Element = f32

§

type LanesType = [f32; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for f32x16

§

type Element = f32

§

type LanesType = [f32; 16]

source§

const LANES: usize = 16usize

source§

impl Simd for f64x2

§

type Element = f64

§

type LanesType = [f64; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for f64x4

§

type Element = f64

§

type LanesType = [f64; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for f64x8

§

type Element = f64

§

type LanesType = [f64; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for i8x4

§

type Element = i8

§

type LanesType = [i8; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for i8x8

§

type Element = i8

§

type LanesType = [i8; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for i8x16

§

type Element = i8

§

type LanesType = [i8; 16]

source§

const LANES: usize = 16usize

source§

impl Simd for i8x32

§

type Element = i8

§

type LanesType = [i8; 32]

source§

const LANES: usize = 32usize

source§

impl Simd for i16x2

§

type Element = i16

§

type LanesType = [i16; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for i16x4

§

type Element = i16

§

type LanesType = [i16; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for i16x8

§

type Element = i16

§

type LanesType = [i16; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for i16x16

§

type Element = i16

§

type LanesType = [i16; 16]

source§

const LANES: usize = 16usize

source§

impl Simd for i32x2

§

type Element = i32

§

type LanesType = [i32; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for i32x4

§

type Element = i32

§

type LanesType = [i32; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for i32x8

§

type Element = i32

§

type LanesType = [i32; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for i64x2

§

type Element = i64

§

type LanesType = [i64; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for i64x4

§

type Element = i64

§

type LanesType = [i64; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for u8x4

§

type Element = u8

§

type LanesType = [u8; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for u8x8

§

type Element = u8

§

type LanesType = [u8; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for u8x16

§

type Element = u8

§

type LanesType = [u8; 16]

source§

const LANES: usize = 16usize

source§

impl Simd for u8x32

§

type Element = u8

§

type LanesType = [u8; 32]

source§

const LANES: usize = 32usize

source§

impl Simd for u16x2

§

type Element = u16

§

type LanesType = [u16; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for u16x4

§

type Element = u16

§

type LanesType = [u16; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for u16x8

§

type Element = u16

§

type LanesType = [u16; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for u16x16

§

type Element = u16

§

type LanesType = [u16; 16]

source§

const LANES: usize = 16usize

source§

impl Simd for u32x2

§

type Element = u32

§

type LanesType = [u32; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for u32x4

§

type Element = u32

§

type LanesType = [u32; 4]

source§

const LANES: usize = 4usize

source§

impl Simd for u32x8

§

type Element = u32

§

type LanesType = [u32; 8]

source§

const LANES: usize = 8usize

source§

impl Simd for u64x2

§

type Element = u64

§

type LanesType = [u64; 2]

source§

const LANES: usize = 2usize

source§

impl Simd for u64x4

§

type Element = u64

§

type LanesType = [u64; 4]

source§

const LANES: usize = 4usize