pub trait SimdConsts:
'static
+ Copy
+ Sync
+ Send
+ Debug {
type Scalar: Copy + Debug + Sync + Send;
type HorizontalAddScalar: Copy + Debug + Sync + Send;
type ArrayRepresentation: Index<usize, Output = Self::Scalar> + IndexMut<usize> + Clone;
type UnderlyingType: Copy + Debug + Sync + Send;
type Engine: Simd;
const WIDTH: usize;
}Required Associated Constants§
Required Associated Types§
type Scalar: Copy + Debug + Sync + Send
type HorizontalAddScalar: Copy + Debug + Sync + Send
Sourcetype ArrayRepresentation: Index<usize, Output = Self::Scalar> + IndexMut<usize> + Clone
type ArrayRepresentation: Index<usize, Output = Self::Scalar> + IndexMut<usize> + Clone
The type of the transmuted array representation. This is to make indexing operations easier.
We are unable to use &[Self::Scalar; Self::WIDTH] because constants are not allowed.
type Engine: Simd
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.