Trait vectoreyes::SimdBaseGatherable
source · [−]pub trait SimdBaseGatherable<IV: SimdBase>: SimdBase {
unsafe fn gather(base: *const Self::Scalar, indices: IV) -> Self;
unsafe fn gather_masked(
base: *const Self::Scalar,
indices: IV,
mask: Self,
src: Self
) -> Self;
}
Required Methods
Construct a vector by accessing values at base + indices[i]
sourceunsafe fn gather_masked(
base: *const Self::Scalar,
indices: IV,
mask: Self,
src: Self
) -> Self
unsafe fn gather_masked(
base: *const Self::Scalar,
indices: IV,
mask: Self,
src: Self
) -> Self
Construct a vector by accessing values at base + indices[i]
, only if the mask is set.
Implementors
impl SimdBaseGatherable<I32x4> for I32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I32x4> for I64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I32x4> for U32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I32x4> for U64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I32x8> for I32x8
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I32x8> for U32x8
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x2> for I64x2
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x2> for U64x2
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x4> for I32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x4> for I64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x4> for U32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<I64x4> for U64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x2> for I64x2
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x2> for U64x2
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x4> for I32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x4> for I64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x4> for U32x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned
impl SimdBaseGatherable<U64x4> for U64x4
Safety
base
does not need to be aligned. Forall i
, base + indices[i]
must meet
the safety requirements of std::ptr::read_unaligned