pub struct SimdDistanceOps;Expand description
SIMD-accelerated distance computation utilities
Implementations§
Source§impl SimdDistanceOps
impl SimdDistanceOps
Sourcepub fn squared_euclidean_distance<F>(a: &[F], b: &[F]) -> F
pub fn squared_euclidean_distance<F>(a: &[F], b: &[F]) -> F
Compute squared Euclidean distance using SIMD operations when available
Sourcepub fn enhanced_batch_distances<F>(
points: &ArrayView2<'_, F>,
queries: &ArrayView2<'_, F>,
) -> Vec<Vec<F>>
pub fn enhanced_batch_distances<F>( points: &ArrayView2<'_, F>, queries: &ArrayView2<'_, F>, ) -> Vec<Vec<F>>
Enhanced batch distance computation with SIMD optimization for better memory access patterns
Sourcepub fn parallel_enhanced_batch_distances<F>(
points: &ArrayView2<'_, F>,
queries: &ArrayView2<'_, F>,
_num_threads: Option<usize>,
) -> Vec<Vec<F>>
pub fn parallel_enhanced_batch_distances<F>( points: &ArrayView2<'_, F>, queries: &ArrayView2<'_, F>, _num_threads: Option<usize>, ) -> Vec<Vec<F>>
SIMD-optimized parallel batch processing for very large datasets
Sourcepub fn batch_distances_to_query<F>(
points: &ArrayView2<'_, F>,
query: &[F],
) -> Vec<F>
pub fn batch_distances_to_query<F>( points: &ArrayView2<'_, F>, query: &[F], ) -> Vec<F>
Batch compute distances from multiple points to a single query
Auto Trait Implementations§
impl Freeze for SimdDistanceOps
impl RefUnwindSafe for SimdDistanceOps
impl Send for SimdDistanceOps
impl Sync for SimdDistanceOps
impl Unpin for SimdDistanceOps
impl UnsafeUnpin for SimdDistanceOps
impl UnwindSafe for SimdDistanceOps
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.