scirs2_fft/fft/
mod.rs

1/*!
2 * Fast Fourier Transform (FFT) module
3 *
4 * This module provides functions for computing the Fast Fourier Transform (FFT)
5 * and its inverse (IFFT) in 1D, 2D, and N-dimensional cases.
6 */
7
8// Private modules
9mod algorithms;
10mod planning;
11mod utility;
12// Windowing module now public for doctest access
13pub mod windowing;
14
15// Re-export the core FFT algorithms
16pub use algorithms::{fft, fft2, fftn, ifft, ifft2, ifftn};
17
18// Re-export the parallel FFT implementations
19pub use planning::{fft2_parallel, ifft2_parallel};
20
21// We don't need to re-export NormMode since it's not used elsewhere
22// pub(crate) use algorithms::NormMode;
23
24// Re-export useful utility functions
25pub use utility::{
26    complex_angle, complex_magnitude, complex_to_real, is_power_of_two, next_power_of_two,
27    power_spectrum, real_to_complex, validate_fft_axes, validate_fft_size, validate_fftshapes,
28};
29
30// Re-export window functions
31pub use windowing::{apply_window, create_window, window_properties, WindowProperties, WindowType};