concision_core/ops/fft/
mod.rs

1/*
2   Appellation: fft <mod>
3   Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! # Fast Fourier Transform
6//!
7//! The `fft` module provides an implementation of the Fast Fourier Transform (FFT) algorithm.
8//! The Fast Fourier Transform is an efficient algorithm for computing the Discrete Fourier Transform (DFT).
9pub use self::prelude::*;
10
11pub(crate) mod fft;
12pub(crate) mod utils;
13
14pub mod cmp {
15    pub use self::prelude::*;
16
17    pub mod direction;
18    pub mod mode;
19    pub mod plan;
20
21    pub(crate) mod prelude {
22        pub use super::direction::FftDirection;
23        pub use super::mode::FftMode;
24        pub use super::plan::FftPlan;
25    }
26}
27
28/// Trait for computing the Discrete Fourier Transform (DFT) of a sequence.
29pub trait DFT<T> {
30    type Output;
31
32    fn dft(&self) -> Self::Output;
33}
34
35pub(crate) mod prelude {
36    pub use super::cmp::prelude::*;
37    pub use super::fft::*;
38    pub use super::utils::*;
39    pub use super::DFT;
40}
41
42#[cfg(test)]
43mod tests {}