#fft #transform #fourier #performance

sys ducc0

Wrapping ducc, the Distinctly Useful Code Collection

2 releases

0.30.1 Apr 20, 2023
0.30.0 Apr 20, 2023
0.28.0 Feb 24, 2023

#527 in Science

GPL-2.0-or-later

395KB
9K SLoC

C++ 8K SLoC // 0.1% comments Rust 137 SLoC // 0.1% comments
  • This provides an initial Rust interface to the C++ ducc code

  • The detailed README on ducc can be found here

  • The Rust wrapper currently supports

    • FFT: c2c
  • For the C++ functions that support inplace operations (e.g., the c2c FFT), two rust functions are exposed: ducc0::fft_c2c and ducc0::fft_c2c_inplace.

  • Rust wrapper currently does not support

    • FFT: c2r, r2c, hartley transforms, ...
    • NuFFT
    • Healpix
    • SHTs
    • Radio response
    • etc.

This wrapper is currently highly experimental. If you encounter problems or need not yet supported components, please reach out to c@philipp-arras.de.

This is my first C++ wrapper for Rust. Feel free to give advice and feedback.

Dependencies

~1.5MB
~28K SLoC