Trait SimdFrom

Source
pub trait SimdFrom<T, S: Simd> {
    // Required method
    fn simd_from(value: T, simd: S) -> Self;
}
Expand description

Value conversion, adding a SIMD blessing.

Analogous to From, but takes a SIMD token, which is used to bless the new value. Most such conversions are safe transmutes, but this trait also supports splats, and implementations can use the SIMD token to use an efficient splat intrinsic.

The SimdInto trait is also provided for convenience.

Required Methods§

Source

fn simd_from(value: T, simd: S) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<S: Simd> SimdFrom<f32, S> for f32x4<S>

Source§

impl<S: Simd> SimdFrom<f32, S> for f32x8<S>

Source§

impl<S: Simd> SimdFrom<f32, S> for f32x16<S>

Source§

impl<S: Simd> SimdFrom<f64, S> for f64x2<S>

Source§

impl<S: Simd> SimdFrom<f64, S> for f64x4<S>

Source§

impl<S: Simd> SimdFrom<f64, S> for f64x8<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for i8x16<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for i8x32<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for i8x64<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for mask8x16<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for mask8x32<S>

Source§

impl<S: Simd> SimdFrom<i8, S> for mask8x64<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for i16x8<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for i16x16<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for i16x32<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for mask16x8<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for mask16x16<S>

Source§

impl<S: Simd> SimdFrom<i16, S> for mask16x32<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for i32x4<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for i32x8<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for i32x16<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for mask32x4<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for mask32x8<S>

Source§

impl<S: Simd> SimdFrom<i32, S> for mask32x16<S>

Source§

impl<S: Simd> SimdFrom<i64, S> for mask64x2<S>

Source§

impl<S: Simd> SimdFrom<i64, S> for mask64x4<S>

Source§

impl<S: Simd> SimdFrom<i64, S> for mask64x8<S>

Source§

impl<S: Simd> SimdFrom<u8, S> for u8x16<S>

Source§

impl<S: Simd> SimdFrom<u8, S> for u8x32<S>

Source§

impl<S: Simd> SimdFrom<u8, S> for u8x64<S>

Source§

impl<S: Simd> SimdFrom<u16, S> for u16x8<S>

Source§

impl<S: Simd> SimdFrom<u16, S> for u16x16<S>

Source§

impl<S: Simd> SimdFrom<u16, S> for u16x32<S>

Source§

impl<S: Simd> SimdFrom<u32, S> for u32x4<S>

Source§

impl<S: Simd> SimdFrom<u32, S> for u32x8<S>

Source§

impl<S: Simd> SimdFrom<u32, S> for u32x16<S>

Source§

impl<S: Simd> SimdFrom<__m128, S> for f32x4<S>

Source§

impl<S: Simd> SimdFrom<__m128d, S> for f64x2<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for i8x16<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for i16x8<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for i32x4<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for mask8x16<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for mask16x8<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for mask32x4<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for mask64x2<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for u8x16<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for u16x8<S>

Source§

impl<S: Simd> SimdFrom<__m128i, S> for u32x4<S>

Source§

impl<S: Simd> SimdFrom<__m256, S> for f32x8<S>

Source§

impl<S: Simd> SimdFrom<__m256d, S> for f64x4<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for i8x32<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for i16x16<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for i32x8<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for mask8x32<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for mask16x16<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for mask32x8<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for mask64x4<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for u8x32<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for u16x16<S>

Source§

impl<S: Simd> SimdFrom<__m256i, S> for u32x8<S>

Source§

impl<S: Simd> SimdFrom<[f32; 4], S> for f32x4<S>

Source§

impl<S: Simd> SimdFrom<[f32; 8], S> for f32x8<S>

Source§

impl<S: Simd> SimdFrom<[f32; 16], S> for f32x16<S>

Source§

impl<S: Simd> SimdFrom<[f64; 2], S> for f64x2<S>

Source§

impl<S: Simd> SimdFrom<[f64; 4], S> for f64x4<S>

Source§

impl<S: Simd> SimdFrom<[f64; 8], S> for f64x8<S>

Source§

impl<S: Simd> SimdFrom<[i8; 16], S> for i8x16<S>

Source§

impl<S: Simd> SimdFrom<[i8; 16], S> for mask8x16<S>

Source§

impl<S: Simd> SimdFrom<[i8; 32], S> for i8x32<S>

Source§

impl<S: Simd> SimdFrom<[i8; 32], S> for mask8x32<S>

Source§

impl<S: Simd> SimdFrom<[i8; 64], S> for i8x64<S>

Source§

impl<S: Simd> SimdFrom<[i8; 64], S> for mask8x64<S>

Source§

impl<S: Simd> SimdFrom<[i16; 8], S> for i16x8<S>

Source§

impl<S: Simd> SimdFrom<[i16; 8], S> for mask16x8<S>

Source§

impl<S: Simd> SimdFrom<[i16; 16], S> for i16x16<S>

Source§

impl<S: Simd> SimdFrom<[i16; 16], S> for mask16x16<S>

Source§

impl<S: Simd> SimdFrom<[i16; 32], S> for i16x32<S>

Source§

impl<S: Simd> SimdFrom<[i16; 32], S> for mask16x32<S>

Source§

impl<S: Simd> SimdFrom<[i32; 4], S> for i32x4<S>

Source§

impl<S: Simd> SimdFrom<[i32; 4], S> for mask32x4<S>

Source§

impl<S: Simd> SimdFrom<[i32; 8], S> for i32x8<S>

Source§

impl<S: Simd> SimdFrom<[i32; 8], S> for mask32x8<S>

Source§

impl<S: Simd> SimdFrom<[i32; 16], S> for i32x16<S>

Source§

impl<S: Simd> SimdFrom<[i32; 16], S> for mask32x16<S>

Source§

impl<S: Simd> SimdFrom<[i64; 2], S> for mask64x2<S>

Source§

impl<S: Simd> SimdFrom<[i64; 4], S> for mask64x4<S>

Source§

impl<S: Simd> SimdFrom<[i64; 8], S> for mask64x8<S>

Source§

impl<S: Simd> SimdFrom<[u8; 16], S> for u8x16<S>

Source§

impl<S: Simd> SimdFrom<[u8; 32], S> for u8x32<S>

Source§

impl<S: Simd> SimdFrom<[u8; 64], S> for u8x64<S>

Source§

impl<S: Simd> SimdFrom<[u16; 8], S> for u16x8<S>

Source§

impl<S: Simd> SimdFrom<[u16; 16], S> for u16x16<S>

Source§

impl<S: Simd> SimdFrom<[u16; 32], S> for u16x32<S>

Source§

impl<S: Simd> SimdFrom<[u32; 4], S> for u32x4<S>

Source§

impl<S: Simd> SimdFrom<[u32; 8], S> for u32x8<S>

Source§

impl<S: Simd> SimdFrom<[u32; 16], S> for u32x16<S>

Source§

impl<T, S: Simd> SimdFrom<T, S> for T