#[repr(align(64))]pub struct AlignedVector { /* private fields */ }Expand description
Cache-aligned vector for SIMD operations
Implementations§
Source§impl AlignedVector
impl AlignedVector
Sourcepub fn as_mut_ptr(&mut self) -> *mut f32
pub fn as_mut_ptr(&mut self) -> *mut f32
Get mutable raw pointer for SIMD operations
Sourcepub unsafe fn simd_add(
&mut self,
other: &AlignedVector,
) -> Result<(), &'static str>
Available with target feature avx2 only.
pub unsafe fn simd_add( &mut self, other: &AlignedVector, ) -> Result<(), &'static str>
avx2 only.SIMD-accelerated vector addition (x86_64 only)
Sourcepub unsafe fn simd_dot(
&self,
other: &AlignedVector,
) -> Result<f32, &'static str>
Available with target feature avx2 only.
pub unsafe fn simd_dot( &self, other: &AlignedVector, ) -> Result<f32, &'static str>
avx2 only.SIMD-accelerated dot product (x86_64 only)
Sourcepub unsafe fn simd_scale(&mut self, scalar: f32)
Available with target feature avx2 only.
pub unsafe fn simd_scale(&mut self, scalar: f32)
avx2 only.SIMD-accelerated vector scaling (x86_64 only)
Auto Trait Implementations§
impl Freeze for AlignedVector
impl RefUnwindSafe for AlignedVector
impl Send for AlignedVector
impl Sync for AlignedVector
impl Unpin for AlignedVector
impl UnwindSafe for AlignedVector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.