pub fn dft(input: &[(f64, f64)]) -> Vec<(f64, f64)>
1D Discrete Fourier Transform (naive O(n²) — for correctness; production uses FFT).