1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! Sparse Fast Fourier Transform Implementation
//!
//! This module provides implementations of Sparse FFT algorithms, which are
//! efficient for signals that have a sparse representation in the frequency domain.
//! These algorithms can achieve sub-linear runtime when the signal has only a few
//! significant frequency components.
//!
//! # Module Organization
//!
//! * [`config`] - Configuration types and enums for sparse FFT
//! * [`algorithms`] - Core sparse FFT algorithm implementations
//! * [`windowing`] - Window function utilities
//! * [`estimation`] - Sparsity estimation methods
//! * [`reconstruction`] - Spectrum reconstruction utilities
//!
//! # Examples
//!
//! ```rust
//! use scirs2_fft::sparse_fft::{sparse_fft, SparseFFTConfig, SparsityEstimationMethod};
//!
//! // Create a sparse signal
//! let signal = vec![1.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.25, 0.0];
//!
//! // Compute sparse FFT with 4 components
//! let result = sparse_fft(&signal, 4, None, None).expect("valid input");
//!
//! println!("Found {} sparse components", result.values.len());
//! ```
// Re-export main types and functions for backward compatibility
pub use ;
pub use ;
// Re-export main public API functions
pub use ;
pub use ;
// Re-export utilities
pub use try_as_complex;