pub struct SimdOptimization { /* private fields */ }Expand description
SIMD optimization module for vector operations.
Delegates to gMath’s FixedVector methods which will gain SIMD acceleration as gMath promotes its internal SIMD infrastructure to production.
Implementations§
Source§impl SimdOptimization
impl SimdOptimization
Sourcepub fn cpu_features(&self) -> CpuFeatures
pub fn cpu_features(&self) -> CpuFeatures
Get the CPU features.
Sourcepub fn vector_multiply(&self, a: &FixedVector, b: &FixedVector) -> FixedVector
pub fn vector_multiply(&self, a: &FixedVector, b: &FixedVector) -> FixedVector
Perform optimized vector multiplication. Delegates to gMath’s FixedPoint operators (gains SIMD when gMath enables it).
Sourcepub fn matrix_vector_multiply(
&self,
m: &FixedMatrix,
v: &FixedVector,
) -> FixedVector
pub fn matrix_vector_multiply( &self, m: &FixedMatrix, v: &FixedVector, ) -> FixedVector
Perform optimized matrix-vector multiplication.
Sourcepub fn hyperbolic_distance(
&self,
_disk_radius: FixedPoint,
p1: &FixedVector,
p2: &FixedVector,
) -> FixedPoint
pub fn hyperbolic_distance( &self, _disk_radius: FixedPoint, p1: &FixedVector, p2: &FixedVector, ) -> FixedPoint
Calculate hyperbolic distance using gMath’s FixedVector methods.
Sourcepub fn euclidean_distance(
&self,
v1: &FixedVector,
v2: &FixedVector,
) -> FixedPoint
pub fn euclidean_distance( &self, v1: &FixedVector, v2: &FixedVector, ) -> FixedPoint
Calculate Euclidean distance using gMath’s FixedVector.
Sourcepub fn vector_norm_squared(&self, v: &FixedVector) -> FixedPoint
pub fn vector_norm_squared(&self, v: &FixedVector) -> FixedPoint
Calculate vector norm squared.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SimdOptimization
impl RefUnwindSafe for SimdOptimization
impl Send for SimdOptimization
impl Sync for SimdOptimization
impl Unpin for SimdOptimization
impl UnsafeUnpin for SimdOptimization
impl UnwindSafe for SimdOptimization
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