pub struct KernelCache { /* private fields */ }Expand description
Cache for kernel evaluation results.
Uses symmetric key normalization: k(i,j) = k(j,i), so (i,j) and (j,i) share the same cache entry. Implements LRU eviction when capacity is reached.
Implementations§
Source§impl KernelCache
impl KernelCache
Sourcepub fn new(capacity: usize) -> Self
pub fn new(capacity: usize) -> Self
Create a new kernel cache with the given capacity.
The cache will evict the least-recently-used entry when full.
Sourcepub fn get(&mut self, i: usize, j: usize) -> Option<f64>
pub fn get(&mut self, i: usize, j: usize) -> Option<f64>
Retrieve a cached value, updating LRU order on hit.
Auto Trait Implementations§
impl Freeze for KernelCache
impl RefUnwindSafe for KernelCache
impl Send for KernelCache
impl Sync for KernelCache
impl Unpin for KernelCache
impl UnsafeUnpin for KernelCache
impl UnwindSafe for KernelCache
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> 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 more