Trait ArraySimd

Source
pub trait ArraySimd<T, const N: usize>: Array + AsSlice<Item = T> {
Show 15 methods // Required methods const fn array_simd<const M: usize>( self, ) -> ([Simd<T, M>; { _ }], [T; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_ref<const M: usize>( &self, ) -> (&[Simd<T, M>; { _ }], &[T; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_mut<const M: usize>( &mut self, ) -> (&mut [Simd<T, M>; { _ }], &mut [T; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[Simd<T, M>; { _ }]>, Pin<&[T; { _ }]>) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [Simd<T, M>; { _ }]>, Pin<&mut [T; { _ }]>) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_rsimd<const M: usize>( self, ) -> ([T; { _ }], [Simd<T, M>; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_rsimd_ref<const M: usize>( &self, ) -> (&[T; { _ }], &[Simd<T, M>; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_rsimd_mut<const M: usize>( &mut self, ) -> (&mut [T; { _ }], &mut [Simd<T, M>; { _ }]) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_rsimd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[T; { _ }]>, Pin<&[Simd<T, M>; { _ }]>) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_rsimd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [T; { _ }]>, Pin<&mut [Simd<T, M>; { _ }]>) where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_exact<const M: usize>(self) -> [Simd<T, M>; { _ }] where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_exact_ref<const M: usize>(&self) -> &[Simd<T, M>; { _ }] where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_exact_mut<const M: usize>( &mut self, ) -> &mut [Simd<T, M>; { _ }] where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_exact_pin_ref<const M: usize>( self: Pin<&Self>, ) -> Pin<&[Simd<T, M>; { _ }]> where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:; const fn array_simd_exact_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> Pin<&mut [Simd<T, M>; { _ }]> where T: SimdElement, LaneCount<M>: SupportedLaneCount, [(); { _ }]:;
}

Required Methods§

Source

const fn array_simd<const M: usize>(self) -> ([Simd<T, M>; { _ }], [T; { _ }])

Source

const fn array_simd_ref<const M: usize>( &self, ) -> (&[Simd<T, M>; { _ }], &[T; { _ }])

Source

const fn array_simd_mut<const M: usize>( &mut self, ) -> (&mut [Simd<T, M>; { _ }], &mut [T; { _ }])

Source

const fn array_simd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[Simd<T, M>; { _ }]>, Pin<&[T; { _ }]>)

Source

const fn array_simd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [Simd<T, M>; { _ }]>, Pin<&mut [T; { _ }]>)

Source

const fn array_rsimd<const M: usize>(self) -> ([T; { _ }], [Simd<T, M>; { _ }])

Source

const fn array_rsimd_ref<const M: usize>( &self, ) -> (&[T; { _ }], &[Simd<T, M>; { _ }])

Source

const fn array_rsimd_mut<const M: usize>( &mut self, ) -> (&mut [T; { _ }], &mut [Simd<T, M>; { _ }])

Source

const fn array_rsimd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[T; { _ }]>, Pin<&[Simd<T, M>; { _ }]>)

Source

const fn array_rsimd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [T; { _ }]>, Pin<&mut [Simd<T, M>; { _ }]>)

Source

const fn array_simd_exact<const M: usize>(self) -> [Simd<T, M>; { _ }]

Source

const fn array_simd_exact_ref<const M: usize>(&self) -> &[Simd<T, M>; { _ }]

Source

const fn array_simd_exact_mut<const M: usize>( &mut self, ) -> &mut [Simd<T, M>; { _ }]

Source

const fn array_simd_exact_pin_ref<const M: usize>( self: Pin<&Self>, ) -> Pin<&[Simd<T, M>; { _ }]>

Source

const fn array_simd_exact_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> Pin<&mut [Simd<T, M>; { _ }]>

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.

Implementations on Foreign Types§

Source§

impl<T, const N: usize> ArraySimd<T, N> for [T; N]

Source§

const fn array_simd<const M: usize>(self) -> ([Simd<T, M>; { _ }], [T; { _ }])

Source§

const fn array_simd_ref<const M: usize>( &self, ) -> (&[Simd<T, M>; { _ }], &[T; { _ }])

Source§

const fn array_simd_mut<const M: usize>( &mut self, ) -> (&mut [Simd<T, M>; { _ }], &mut [T; { _ }])

Source§

const fn array_simd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[Simd<T, M>; { _ }]>, Pin<&[T; { _ }]>)

Source§

const fn array_simd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [Simd<T, M>; { _ }]>, Pin<&mut [T; { _ }]>)

Source§

const fn array_rsimd<const M: usize>(self) -> ([T; { _ }], [Simd<T, M>; { _ }])

Source§

const fn array_rsimd_ref<const M: usize>( &self, ) -> (&[T; { _ }], &[Simd<T, M>; { _ }])

Source§

const fn array_rsimd_mut<const M: usize>( &mut self, ) -> (&mut [T; { _ }], &mut [Simd<T, M>; { _ }])

Source§

const fn array_rsimd_pin_ref<const M: usize>( self: Pin<&Self>, ) -> (Pin<&[T; { _ }]>, Pin<&[Simd<T, M>; { _ }]>)

Source§

const fn array_rsimd_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> (Pin<&mut [T; { _ }]>, Pin<&mut [Simd<T, M>; { _ }]>)

Source§

const fn array_simd_exact<const M: usize>(self) -> [Simd<T, M>; { _ }]

Source§

const fn array_simd_exact_ref<const M: usize>(&self) -> &[Simd<T, M>; { _ }]

Source§

const fn array_simd_exact_mut<const M: usize>( &mut self, ) -> &mut [Simd<T, M>; { _ }]

Source§

const fn array_simd_exact_pin_ref<const M: usize>( self: Pin<&Self>, ) -> Pin<&[Simd<T, M>; { _ }]>

Source§

const fn array_simd_exact_pin_mut<const M: usize>( self: Pin<&mut Self>, ) -> Pin<&mut [Simd<T, M>; { _ }]>

Implementors§