pub struct CachedCorrelation { /* private fields */ }Expand description
Cached correlation computer with performance tracking
OPT-001: Caches correlation results to avoid redundant computation
Implementations§
Source§impl CachedCorrelation
impl CachedCorrelation
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create cached correlation with custom capacity
Sourcepub fn correlate(
&mut self,
x: &Vector<f32>,
y: &Vector<f32>,
x_idx: usize,
y_idx: usize,
) -> Result<f32>
pub fn correlate( &mut self, x: &Vector<f32>, y: &Vector<f32>, x_idx: usize, y_idx: usize, ) -> Result<f32>
Compute correlation with caching
Cache key is based on vector indices (assumes stable vector ordering)
Sourcepub fn correlation_matrix(
&mut self,
vectors: &[Vector<f32>],
) -> Result<Vec<Vec<f32>>>
pub fn correlation_matrix( &mut self, vectors: &[Vector<f32>], ) -> Result<Vec<Vec<f32>>>
Compute correlation matrix for multiple vectors
Sourcepub fn cache_hit_rate(&self) -> f64
pub fn cache_hit_rate(&self) -> f64
Get cache hit rate
Sourcepub fn cache_stats(&self) -> (u64, u64)
pub fn cache_stats(&self) -> (u64, u64)
Get cache statistics
Sourcepub fn clear_cache(&mut self)
pub fn clear_cache(&mut self)
Clear cache
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CachedCorrelation
impl RefUnwindSafe for CachedCorrelation
impl Send for CachedCorrelation
impl Sync for CachedCorrelation
impl Unpin for CachedCorrelation
impl UnwindSafe for CachedCorrelation
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> 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
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt 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.