pub enum SizeClass {
Notw(usize),
Odd(usize),
RaderHardcoded(usize),
MixedRadix(Vec<u16>),
RaderPrime(usize),
Bluestein(usize),
}Expand description
Classification of an FFT size for codelet routing.
Variants§
Notw(usize)
Handled by the non-twiddle emitter: {2, 4, 8, 16, 32, 64}. Also used for N=1 (identity, emitted directly).
Odd(usize)
Handled by the Winograd odd emitter: {3, 5, 7}.
RaderHardcoded(usize)
Handled by the hardcoded Rader emitter (straight-line twiddles): {11, 13}.
MixedRadix(Vec<u16>)
Smooth-7 composite (all prime factors in {2, 3, 5, 7}):
routed to the runtime Plan::dft_1d mixed-radix path.
RaderPrime(usize)
Small prime <= 1021 not in the hardcoded set: routed to Plan::dft_1d
(which selects Winograd, Direct, or Generic internally).
Bluestein(usize)
All other sizes: routed to Plan::dft_1d (Bluestein or Generic path).
Trait Implementations§
impl Eq for SizeClass
impl StructuralPartialEq for SizeClass
Auto Trait Implementations§
impl Freeze for SizeClass
impl RefUnwindSafe for SizeClass
impl Send for SizeClass
impl Sync for SizeClass
impl Unpin for SizeClass
impl UnsafeUnpin for SizeClass
impl UnwindSafe for SizeClass
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