pub struct AdaptivePlanner { /* private fields */ }
Expand description
Adaptive planner that switches strategies based on runtime performance
Implementations§
Source§impl AdaptivePlanner
impl AdaptivePlanner
Sourcepub fn new(
size: &[usize],
forward: bool,
config: Option<AdaptivePlanningConfig>,
) -> Self
pub fn new( size: &[usize], forward: bool, config: Option<AdaptivePlanningConfig>, ) -> Self
Create a new adaptive planner
Sourcepub fn current_strategy(&self) -> PlanningStrategy
pub fn current_strategy(&self) -> PlanningStrategy
Get the current strategy
Sourcepub fn current_backend(&self) -> PlannerBackend
pub fn current_backend(&self) -> PlannerBackend
Get the current backend
Sourcepub fn record_execution(&mut self, executiontime: Duration) -> FFTResult<()>
pub fn record_execution(&mut self, executiontime: Duration) -> FFTResult<()>
Record execution time and potentially adapt strategy
Sourcepub fn get_statistics(&self) -> HashMap<PlanningStrategy, (Duration, usize)>
pub fn get_statistics(&self) -> HashMap<PlanningStrategy, (Duration, usize)>
Get performance statistics for all strategies
Auto Trait Implementations§
impl Freeze for AdaptivePlanner
impl !RefUnwindSafe for AdaptivePlanner
impl Send for AdaptivePlanner
impl Sync for AdaptivePlanner
impl Unpin for AdaptivePlanner
impl !UnwindSafe for AdaptivePlanner
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