#[non_exhaustive]pub enum SolverChoice {
}Expand description
Solver selection strategy.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Nop
No-op for size 0 or 1
Direct
Direct O(n²) computation
CooleyTukeyDit
Cooley-Tukey radix-2 DIT
CooleyTukeyDif
Cooley-Tukey radix-2 DIF
CooleyTukeyRadix4
Cooley-Tukey radix-4
CooleyTukeyRadix8
Cooley-Tukey radix-8
CooleyTukeySplitRadix
Cooley-Tukey split-radix
Stockham
Stockham auto-sort (avoids bit-reversal, optimal for large sizes)
Composite
Specialized composite codelets (12, 24, 36, 48, 60, 72, 96, 100)
Generic
Generic mixed-radix for composite sizes
Bluestein
Bluestein’s algorithm for arbitrary sizes
Rader
Rader’s algorithm for prime sizes
CacheOblivious
Cache-oblivious four-step FFT for large power-of-2 sizes
MixedRadix
Mixed-radix DIT FFT for smooth-7 composite sizes.
factors is ordered innermost-first; the product equals the transform size.
Implementations§
Source§impl SolverChoice
impl SolverChoice
Sourcepub fn name(&self) -> &'static str
pub fn name(&self) -> &'static str
Short, static solver identifier (used for display and non-wisdom purposes).
For MixedRadix, returns the generic tag "mixed-radix".
Use SolverChoice::wisdom_name when encoding to wisdom strings,
since that method includes the factor sequence.
Sourcepub fn wisdom_name(&self) -> String
pub fn wisdom_name(&self) -> String
Wisdom-safe solver name that encodes all solver parameters.
For MixedRadix { factors: [3, 2] } this returns "mixed-radix-3-2".
For all other variants, identical to Self::name.
Trait Implementations§
Source§impl Clone for SolverChoice
impl Clone for SolverChoice
Source§fn clone(&self) -> SolverChoice
fn clone(&self) -> SolverChoice
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SolverChoice
impl Debug for SolverChoice
Source§impl PartialEq for SolverChoice
impl PartialEq for SolverChoice
Source§fn eq(&self, other: &SolverChoice) -> bool
fn eq(&self, other: &SolverChoice) -> bool
self and other values to be equal, and is used by ==.impl Eq for SolverChoice
impl StructuralPartialEq for SolverChoice
Auto Trait Implementations§
impl Freeze for SolverChoice
impl RefUnwindSafe for SolverChoice
impl Send for SolverChoice
impl Sync for SolverChoice
impl Unpin for SolverChoice
impl UnsafeUnpin for SolverChoice
impl UnwindSafe for SolverChoice
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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