pub struct AlgorithmSelector { /* private fields */ }Expand description
Main algorithm selector
Implementations§
Source§impl AlgorithmSelector
impl AlgorithmSelector
Sourcepub fn with_config(config: SelectionConfig) -> Self
pub fn with_config(config: SelectionConfig) -> Self
Create a new algorithm selector with custom configuration
Sourcepub fn select_algorithm(
&self,
size: usize,
forward: bool,
) -> FFTResult<AlgorithmRecommendation>
pub fn select_algorithm( &self, size: usize, forward: bool, ) -> FFTResult<AlgorithmRecommendation>
Select the best algorithm for the given input size
Sourcepub fn record_performance(&self, entry: PerformanceEntry) -> FFTResult<()>
pub fn record_performance(&self, entry: PerformanceEntry) -> FFTResult<()>
Record performance measurement for learning
Sourcepub fn benchmark(
&self,
size: usize,
algorithm: FftAlgorithm,
forward: bool,
) -> FFTResult<PerformanceEntry>
pub fn benchmark( &self, size: usize, algorithm: FftAlgorithm, forward: bool, ) -> FFTResult<PerformanceEntry>
Run a benchmark for a specific size and algorithm
Sourcepub fn config(&self) -> &SelectionConfig
pub fn config(&self) -> &SelectionConfig
Get configuration
Sourcepub fn hardware(&self) -> &HardwareInfo
pub fn hardware(&self) -> &HardwareInfo
Get hardware info
Sourcepub fn history(&self) -> Arc<RwLock<PerformanceHistory>>
pub fn history(&self) -> Arc<RwLock<PerformanceHistory>>
Get performance history
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AlgorithmSelector
impl RefUnwindSafe for AlgorithmSelector
impl Send for AlgorithmSelector
impl Sync for AlgorithmSelector
impl Unpin for AlgorithmSelector
impl UnsafeUnpin for AlgorithmSelector
impl UnwindSafe for AlgorithmSelector
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