Skip to main content

SimdOptimization

Struct SimdOptimization 

Source
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

Source

pub fn new() -> Self

Create a new SIMD optimization instance.

Source

pub fn cpu_features(&self) -> CpuFeatures

Get the CPU features.

Source

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).

Source

pub fn matrix_vector_multiply( &self, m: &FixedMatrix, v: &FixedVector, ) -> FixedVector

Perform optimized matrix-vector multiplication.

Source

pub fn hyperbolic_distance( &self, _disk_radius: FixedPoint, p1: &FixedVector, p2: &FixedVector, ) -> FixedPoint

Calculate hyperbolic distance using gMath’s FixedVector methods.

Source

pub fn euclidean_distance( &self, v1: &FixedVector, v2: &FixedVector, ) -> FixedPoint

Calculate Euclidean distance using gMath’s FixedVector.

Source

pub fn vector_norm_squared(&self, v: &FixedVector) -> FixedPoint

Calculate vector norm squared.

Trait Implementations§

Source§

impl Debug for SimdOptimization

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.