pub struct MixedRadixSmall<T> { /* private fields */ }
Expand description

Implementation of the Mixed-Radix FFT algorithm, specialized for smaller input sizes

This algorithm factors a size n FFT into n1 * n2, computes several inner FFTs of size n1 and n2, then combines the results to get the final answer

// Computes a forward FFT of size 40 using MixedRadixSmall
use std::sync::Arc;
use rustfft::algorithm::MixedRadixSmall;
use rustfft::algorithm::butterflies::{Butterfly5, Butterfly8};
use rustfft::{Fft, FftDirection};
use rustfft::num_complex::Complex;

let len = 40;

let mut buffer = vec![Complex{ re: 0.0f32, im: 0.0f32 }; len];

// we need to find an n1 and n2 such that n1 * n2 == 40
// n1 = 5 and n2 = 8 satisfies this
let inner_fft_n1 = Arc::new(Butterfly5::new(FftDirection::Forward));
let inner_fft_n2 = Arc::new(Butterfly8::new(FftDirection::Forward));

// the mixed radix FFT length will be inner_fft_n1.len() * inner_fft_n2.len() = 40
let fft = MixedRadixSmall::new(inner_fft_n1, inner_fft_n2);
fft.process(&mut buffer);

Implementations

Creates a FFT instance which will process inputs/outputs of size width_fft.len() * height_fft.len()

Trait Implementations

Returns FftDirection::Forward if this instance computes forward FFTs, or FftDirection::Inverse for inverse FFTs
Divides input and output into chunks of size self.len(), and computes a FFT on each chunk. Read more
Divides buffer into chunks of size self.len(), and computes a FFT on each chunk. Read more
Returns the size of the scratch buffer required by process_with_scratch Read more
Returns the size of the scratch buffer required by process_outofplace_with_scratch Read more
Computes a FFT in-place. Read more
The FFT size that this algorithm can process

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.