Struct PredictionCache
pub struct PredictionCache(/* private fields */);Expand description
Thread-safe LRU cache for subject predictions.
Used by ODE and Analytical
to avoid recomputing predictions for the same (subject, parameters) pair.
Clone produces a shallow clone that shares the same underlying cache data,
so cloned equations share cache hits.
Implementations§
§impl PredictionCache
impl PredictionCache
pub fn new(size: u64) -> PredictionCache
pub fn new(size: u64) -> PredictionCache
Create a new prediction cache with a given maximum number of entries.
pub fn get(&self, key: &(u64, u64)) -> Option<SubjectPredictions>
pub fn get(&self, key: &(u64, u64)) -> Option<SubjectPredictions>
Look up a cached prediction.
pub fn insert(&self, key: (u64, u64), value: SubjectPredictions)
pub fn insert(&self, key: (u64, u64), value: SubjectPredictions)
Insert a prediction into the cache.
pub fn invalidate_all(&self)
pub fn invalidate_all(&self)
Remove all entries from the cache.
pub fn entry_count(&self) -> u64
pub fn entry_count(&self) -> u64
Return the number of entries currently in the cache.
Trait Implementations§
§impl Clone for PredictionCache
impl Clone for PredictionCache
§fn clone(&self) -> PredictionCache
fn clone(&self) -> PredictionCache
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PredictionCache
impl !RefUnwindSafe for PredictionCache
impl Send for PredictionCache
impl Sync for PredictionCache
impl Unpin for PredictionCache
impl !UnwindSafe for PredictionCache
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.