SimdValue in nalgebra - Rust
Description: Base trait for every SIMD types.
Keywords: rust, rustlang, rust-lang, SimdValue

# Trait nalgebra::SimdValue

source ·

    pub trait SimdValue: Sized {
        type Element: SimdValue<Element = Self::Element, SimdBool = bool>;
        type SimdBool: SimdBool;

        fn lanes() -> usize;
        fn splat(val: Self::Element) -> Self;
        fn extract(&self, i: usize) -> Self::Element;
        unsafe fn extract_unchecked(&self, i: usize) -> Self::Element;
        fn replace(&mut self, i: usize, val: Self::Element);
        unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element);
        fn select(self, cond: Self::SimdBool, other: Self) -> Self;

        fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self
        where
            Self: Clone,
        { ... }
        fn zip_map_lanes(
            self,
            b: Self,
            f: impl Fn(Self::Element, Self::Element) -> Self::Element
        ) -> Self
        where
            Self: Clone,
        { ... }
    }

Expand description

Base trait for every SIMD types.

## Required Associated Types§

source

#### type Element: SimdValue<Element = Self::Element, SimdBool = bool>

The type of the elements of each lane of this SIMD value.

source

#### type SimdBool: SimdBool

Type of the result of comparing two SIMD values like `self`.

## Required Methods§

source

#### fn lanes() -> usize

The number of lanes of this SIMD value.

source

#### fn splat(val: Self::Element) -> Self

Initializes an SIMD value with each lanes set to `val`.

source

#### fn extract(&self, i: usize) -> Self::Element

Extracts the i-th lane of `self`.

Panics if `i >= Self::lanes()`.

source

#### unsafe fn extract_unchecked(&self, i: usize) -> Self::Element

Extracts the i-th lane of `self` without bound-checking.

source

#### fn replace(&mut self, i: usize, val: Self::Element)

Replaces the i-th lane of `self` by `val`.

Panics if `i >= Self::lanes()`.

source

#### unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)

Replaces the i-th lane of `self` by `val` without bound-checking.

source

#### fn select(self, cond: Self::SimdBool, other: Self) -> Self

Merges `self` and `other` depending on the lanes of `cond`.

For each lane of `cond` with bits set to 1, the result’s will contain the value of the lane of `self`. For each lane of `cond` with bits set to 0, the result’s will contain the value of the lane of `other`.

## Provided Methods§

source

#### fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Selfwhere
Self: Clone,

Applies a function to each lane of `self`.

Note that, while convenient, this method can be extremely slow as this requires to extract each lane of `self` and then combine them again into a new SIMD value.

source

#### fn zip_map_lanes(
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Selfwhere
Self: Clone,

Applies a function to each lane of `self` paired with the corresponding lane of `b`.

Note that, while convenient, this method can be extremely slow as this requires to extract each lane of `self` and then combine them again into a new SIMD value.

## Implementations on Foreign Types§

source§

### impl SimdValue for usize

§

#### type Element = usize

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <usize as SimdValue>::Element) -> usize

source§

#### fn extract(&self, _: usize) -> <usize as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <usize as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <usize as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(
&mut self,
_: usize,
val: <usize as SimdValue>::Element
)

source§

#### fn select(self, cond: <usize as SimdValue>::SimdBool, other: usize) -> usize

source§

### impl SimdValue for u128

§

#### type Element = u128

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <u128 as SimdValue>::Element) -> u128

source§

#### fn extract(&self, _: usize) -> <u128 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <u128 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <u128 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(
&mut self,
_: usize,
val: <u128 as SimdValue>::Element
)

source§

#### fn select(self, cond: <u128 as SimdValue>::SimdBool, other: u128) -> u128

source§

### impl SimdValue for u8

§

#### type Element = u8

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <u8 as SimdValue>::Element) -> u8

source§

#### fn extract(&self, _: usize) -> <u8 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <u8 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <u8 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <u8 as SimdValue>::Element)

source§

#### fn select(self, cond: <u8 as SimdValue>::SimdBool, other: u8) -> u8

source§

### impl SimdValue for i16

§

#### type Element = i16

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <i16 as SimdValue>::Element) -> i16

source§

#### fn extract(&self, _: usize) -> <i16 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <i16 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <i16 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <i16 as SimdValue>::Element)

source§

#### fn select(self, cond: <i16 as SimdValue>::SimdBool, other: i16) -> i16

source§

### impl SimdValue for f32

§

#### type Element = f32

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <f32 as SimdValue>::Element) -> f32

source§

#### fn extract(&self, _: usize) -> <f32 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <f32 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <f32 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <f32 as SimdValue>::Element)

source§

#### fn select(self, cond: <f32 as SimdValue>::SimdBool, other: f32) -> f32

source§

### impl SimdValue for i128

§

#### type Element = i128

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <i128 as SimdValue>::Element) -> i128

source§

#### fn extract(&self, _: usize) -> <i128 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <i128 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <i128 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(
&mut self,
_: usize,
val: <i128 as SimdValue>::Element
)

source§

#### fn select(self, cond: <i128 as SimdValue>::SimdBool, other: i128) -> i128

source§

### impl SimdValue for i8

§

#### type Element = i8

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <i8 as SimdValue>::Element) -> i8

source§

#### fn extract(&self, _: usize) -> <i8 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <i8 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <i8 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <i8 as SimdValue>::Element)

source§

#### fn select(self, cond: <i8 as SimdValue>::SimdBool, other: i8) -> i8

source§

### impl SimdValue for bool

§

#### type Element = bool

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <bool as SimdValue>::Element) -> bool

source§

#### fn extract(&self, _: usize) -> <bool as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <bool as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <bool as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(
&mut self,
_: usize,
val: <bool as SimdValue>::Element
)

source§

#### fn select(self, cond: <bool as SimdValue>::SimdBool, other: bool) -> bool

source§

### impl SimdValue for i64

§

#### type Element = i64

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <i64 as SimdValue>::Element) -> i64

source§

#### fn extract(&self, _: usize) -> <i64 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <i64 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <i64 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <i64 as SimdValue>::Element)

source§

#### fn select(self, cond: <i64 as SimdValue>::SimdBool, other: i64) -> i64

source§

### impl SimdValue for isize

§

#### type Element = isize

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <isize as SimdValue>::Element) -> isize

source§

#### fn extract(&self, _: usize) -> <isize as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <isize as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <isize as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(
&mut self,
_: usize,
val: <isize as SimdValue>::Element
)

source§

#### fn select(self, cond: <isize as SimdValue>::SimdBool, other: isize) -> isize

source§

### impl SimdValue for f64

§

#### type Element = f64

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <f64 as SimdValue>::Element) -> f64

source§

#### fn extract(&self, _: usize) -> <f64 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <f64 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <f64 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <f64 as SimdValue>::Element)

source§

#### fn select(self, cond: <f64 as SimdValue>::SimdBool, other: f64) -> f64

source§

### impl SimdValue for u32

§

#### type Element = u32

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <u32 as SimdValue>::Element) -> u32

source§

#### fn extract(&self, _: usize) -> <u32 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <u32 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <u32 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <u32 as SimdValue>::Element)

source§

#### fn select(self, cond: <u32 as SimdValue>::SimdBool, other: u32) -> u32

source§

### impl SimdValue for u16

§

#### type Element = u16

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <u16 as SimdValue>::Element) -> u16

source§

#### fn extract(&self, _: usize) -> <u16 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <u16 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <u16 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <u16 as SimdValue>::Element)

source§

#### fn select(self, cond: <u16 as SimdValue>::SimdBool, other: u16) -> u16

source§

### impl SimdValue for u64

§

#### type Element = u64

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <u64 as SimdValue>::Element) -> u64

source§

#### fn extract(&self, _: usize) -> <u64 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <u64 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <u64 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <u64 as SimdValue>::Element)

source§

#### fn select(self, cond: <u64 as SimdValue>::SimdBool, other: u64) -> u64

source§

### impl SimdValue for i32

§

#### type Element = i32

§

#### type SimdBool = bool

source§

#### fn lanes() -> usize

source§

#### fn splat(val: <i32 as SimdValue>::Element) -> i32

source§

#### fn extract(&self, _: usize) -> <i32 as SimdValue>::Element

source§

#### unsafe fn extract_unchecked(&self, _: usize) -> <i32 as SimdValue>::Element

source§

#### fn replace(&mut self, _: usize, val: <i32 as SimdValue>::Element)

source§

#### unsafe fn replace_unchecked(&mut self, _: usize, val: <i32 as SimdValue>::Element)

source§

#### fn select(self, cond: <i32 as SimdValue>::SimdBool, other: i32) -> i32

## Implementors§

source§

### impl SimdValue for AutoSimd<[bool; 1]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 1]>

source§

### impl SimdValue for AutoSimd<[bool; 2]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[bool; 4]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[bool; 8]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[bool; 16]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[bool; 32]>

§

#### type Element = bool

§

#### type SimdBool = AutoSimd<[bool; 32]>

source§

### impl SimdValue for AutoSimd<[f32; 2]>

§

#### type Element = f32

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[f32; 4]>

§

#### type Element = f32

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[f32; 8]>

§

#### type Element = f32

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[f32; 16]>

§

#### type Element = f32

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[f64; 2]>

§

#### type Element = f64

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[f64; 4]>

§

#### type Element = f64

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[f64; 8]>

§

#### type Element = f64

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[i8; 2]>

§

#### type Element = i8

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[i8; 4]>

§

#### type Element = i8

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[i8; 8]>

§

#### type Element = i8

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[i8; 16]>

§

#### type Element = i8

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[i8; 32]>

§

#### type Element = i8

§

#### type SimdBool = AutoSimd<[bool; 32]>

source§

### impl SimdValue for AutoSimd<[i16; 2]>

§

#### type Element = i16

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[i16; 4]>

§

#### type Element = i16

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[i16; 8]>

§

#### type Element = i16

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[i16; 16]>

§

#### type Element = i16

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[i16; 32]>

§

#### type Element = i16

§

#### type SimdBool = AutoSimd<[bool; 32]>

source§

### impl SimdValue for AutoSimd<[i32; 2]>

§

#### type Element = i32

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[i32; 4]>

§

#### type Element = i32

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[i32; 8]>

§

#### type Element = i32

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[i32; 16]>

§

#### type Element = i32

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[i64; 2]>

§

#### type Element = i64

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[i64; 4]>

§

#### type Element = i64

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[i64; 8]>

§

#### type Element = i64

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[i128; 1]>

§

#### type Element = i128

§

#### type SimdBool = AutoSimd<[bool; 1]>

source§

### impl SimdValue for AutoSimd<[i128; 2]>

§

#### type Element = i128

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[i128; 4]>

§

#### type Element = i128

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[isize; 2]>

§

#### type Element = isize

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[isize; 4]>

§

#### type Element = isize

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[isize; 8]>

§

#### type Element = isize

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[u8; 2]>

§

#### type Element = u8

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[u8; 4]>

§

#### type Element = u8

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[u8; 8]>

§

#### type Element = u8

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[u8; 16]>

§

#### type Element = u8

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[u8; 32]>

§

#### type Element = u8

§

#### type SimdBool = AutoSimd<[bool; 32]>

source§

### impl SimdValue for AutoSimd<[u16; 2]>

§

#### type Element = u16

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[u16; 4]>

§

#### type Element = u16

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[u16; 8]>

§

#### type Element = u16

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[u16; 16]>

§

#### type Element = u16

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[u16; 32]>

§

#### type Element = u16

§

#### type SimdBool = AutoSimd<[bool; 32]>

source§

### impl SimdValue for AutoSimd<[u32; 2]>

§

#### type Element = u32

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[u32; 4]>

§

#### type Element = u32

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[u32; 8]>

§

#### type Element = u32

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[u32; 16]>

§

#### type Element = u32

§

#### type SimdBool = AutoSimd<[bool; 16]>

source§

### impl SimdValue for AutoSimd<[u64; 2]>

§

#### type Element = u64

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[u64; 4]>

§

#### type Element = u64

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[u64; 8]>

§

#### type Element = u64

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl SimdValue for AutoSimd<[u128; 1]>

§

#### type Element = u128

§

#### type SimdBool = AutoSimd<[bool; 1]>

source§

### impl SimdValue for AutoSimd<[u128; 2]>

§

#### type Element = u128

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[u128; 4]>

§

#### type Element = u128

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[usize; 2]>

§

#### type Element = usize

§

#### type SimdBool = AutoSimd<[bool; 2]>

source§

### impl SimdValue for AutoSimd<[usize; 4]>

§

#### type Element = usize

§

#### type SimdBool = AutoSimd<[bool; 4]>

source§

### impl SimdValue for AutoSimd<[usize; 8]>

§

#### type Element = usize

§

#### type SimdBool = AutoSimd<[bool; 8]>

source§

### impl<N> SimdValue for Complex<N>where
N: SimdValue,

§

#### type Element = Complex<<N as SimdValue>::Element>

§

#### type SimdBool = <N as SimdValue>::SimdBool

source§

### impl<T, R, C> SimdValue for OMatrix<T, R, C>where
T: Scalar + SimdValue,
R: Dim,
C: Dim,
T::Element: Scalar,
DefaultAllocator: Allocator<T, R, C> + Allocator<T::Element, R, C>,

§

#### type Element = Matrix<<T as SimdValue>::Element, R, C, <DefaultAllocator as Allocator<<T as SimdValue>::Element, R, C>>::Buffer>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T, const D: usize> SimdValue for Rotation<T, D>where
T: Scalar + SimdValue,
T::Element: Scalar,

§

#### type Element = Rotation<<T as SimdValue>::Element, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: Scalar + SimdValue> SimdValue for Quaternion<T>where
T::Element: Scalar,

§

#### type Element = Quaternion<<T as SimdValue>::Element>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: Scalar + SimdValue> SimdValue for UnitQuaternion<T>where
T::Element: Scalar,

§

#### type Element = Unit<Quaternion<<T as SimdValue>::Element>>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: Scalar + SimdValue, const D: usize> SimdValue for Scale<T, D>where
T::Element: Scalar,

§

#### type Element = Scale<<T as SimdValue>::Element, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: Scalar + SimdValue, const D: usize> SimdValue for Translation<T, D>where
T::Element: Scalar,

§

#### type Element = Translation<<T as SimdValue>::Element, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: Scalar + SimdValue, const D: usize> SimdValue for Point<T, D>where
T::Element: Scalar,

§

#### type Element = OPoint<<T as SimdValue>::Element, Const<D>>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: RealField, C, const D: usize> SimdValue for Transform<T, C, D>where
T::Element: Scalar,
C: TCategory,
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T::Element, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,

§

#### type Element = Transform<<T as SimdValue>::Element, C, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: SimdRealField> SimdValue for UnitComplex<T>where
T::Element: SimdRealField,

§

#### type Element = Unit<Complex<<T as SimdValue>::Element>>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: SimdRealField, R, const D: usize> SimdValue for Isometry<T, R, D>where
T::Element: SimdRealField,
R: SimdValue<SimdBool = T::SimdBool> + AbstractRotation<T, D>,
R::Element: AbstractRotation<T::Element, D>,

§

#### type Element = Isometry<<T as SimdValue>::Element, <R as SimdValue>::Element, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool

source§

### impl<T: SimdRealField, R, const D: usize> SimdValue for Similarity<T, R, D>where
T::Element: SimdRealField,
R: SimdValue<SimdBool = T::SimdBool> + AbstractRotation<T, D>,
R::Element: AbstractRotation<T::Element, D>,

§

#### type Element = Similarity<<T as SimdValue>::Element, <R as SimdValue>::Element, D>

§

#### type SimdBool = <T as SimdValue>::SimdBool