Skip to main content

Module fft

Module fft 

Source
Expand description

FFT (Fast Fourier Transform) intrinsics — full migration to typed marshal layer.

Per the intrinsics-typed-CC migration’s per-file table, all 5 surviving fft intrinsics (fft, psd, dominant_frequency, bandpass, harmonics) migrate to register_typed_fn_N typed entries via create_fft_intrinsics_module. The 6th legacy intrinsic_ifft was deleted as orphan-cleanup per supervisor sign-off relayed 2026-05-07 (N3 → DELETE-NOW): zero stdlib/package consumers verified pre-deletion; N3 architectural decision (polymorphic-input dispatch via TypedObject FFT-result vs (real_arr, imag_arr) two-array form) deferred pending future consumer with similar polymorphic-input shape. Same precedent as scan.rs deletion at 663b63a.

Migrated entries take Arc<Vec<f64>> (series + kernel) and scalars (frequencies, sample_rate, num_harmonics); outputs project through ConcreteReturn::ArrayF64 (psd, bandpass) or TypedReturn::TypedObject(...) (fft, dominant_frequency, harmonics).

Provides FFT and related spectral analysis functions for:

  • Medical signal processing (ECG, EEG)
  • Power electronics (harmonic analysis)
  • Audio/vibration analysis
  • General frequency domain analysis

Functions§

create_fft_intrinsics_module
Create the fft intrinsics module with 4 typed-marshal entry points (fft, psd, dominant_frequency, bandpass, harmonics). ifft remains as legacy IntrinsicFn body in this module until the N3 sub-decision (polymorphic input: TypedObject vs (real, imag) arrays) resolves.