You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
786 B

3 years ago
  1. # fft-rs [![Test](https://github.com/arnaucube/fft-rs/workflows/Test/badge.svg)](https://github.com/arnaucube/fft-rs/actions?query=workflow%3ATest)
  2. Fast Fourier Transform implementation in Rust.
  3. https://en.wikipedia.org/wiki/Fast_Fourier_transform & [DFT](https://en.wikipedia.org/wiki/Discrete_Fourier_transform)
  4. ## Usage
  5. ```rust
  6. let values: Vec<f64> = vec![0.2, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8];
  7. // compute the FFT (Fast Fourier Transform)
  8. let fft_res = fft(&values);
  9. // compute the IFFT (Inverse Fast Fourier Transform)
  10. let ifft_res = ifft(&fft_res);
  11. // Also, available directly (and slower) DFT & IDFT:
  12. // compute the DFT (Discrete Fourier Transform)
  13. let dft_res = dft(&values);
  14. // compute the IDFT (Inverse Discrete Fourier Transform)
  15. let idft_res = idft(&dft_res);
  16. ```