7 releases (breaking)

0.8.0 Apr 29, 2023
0.6.0 Jun 24, 2020
0.5.0 May 2, 2019
0.4.0 Oct 5, 2018
0.1.0 Mar 1, 2017

#1781 in Math

Download history 1088/week @ 2025-03-12 1762/week @ 2025-03-19 1680/week @ 2025-03-26 1176/week @ 2025-04-02 814/week @ 2025-04-09 1243/week @ 2025-04-16 1265/week @ 2025-04-23 1534/week @ 2025-04-30 1953/week @ 2025-05-07 1724/week @ 2025-05-14 2448/week @ 2025-05-21 1244/week @ 2025-05-28 1686/week @ 2025-06-04 1915/week @ 2025-06-11 2549/week @ 2025-06-18 2005/week @ 2025-06-25

8,445 downloads per month
Used in 34 crates (5 directly)

Custom license and maybe GPL-2.0-or-later

2.5MB
72K SLoC

C 64K SLoC // 0.1% comments Shell 2K SLoC // 0.2% comments M4 2K SLoC // 0.2% comments OCaml 1.5K SLoC // 0.2% comments Rust 1K SLoC Perl 439 SLoC // 0.1% comments FORTRAN Modern 267 SLoC Automake 251 SLoC // 0.1% comments FORTRAN Legacy 27 SLoC // 0.2% comments

rust-fftw3

Rust

Rust bindings for the FFTW C-library for computing discrete Fourier transforms, as well as discrete cosine and sine transforms.

This repository includes three crates:

  • Crate docs.rs fftw: A safe wrapper in Rust
  • Crate docs.rs fftw-sys: An unsafe wrapper in Rust
  • Crate docs.rs fftw-src: A crate for downloading and compiling the FFTW library

Feature flags

  • source: Download and compile FFTW (default)
    • (Linux, macOS) Needs a C-compiler and the make build tool to compile the FFTW library
    • (Windows) Downloads a precompiled binary from the FFTW website
  • system: Use the system's libfftw3 (experimental)
    • You must install FFTW before building this crate
    • For Linux systems, please install FFTW using your package manager, e.g. in Debian or Ubuntu run apt install libfftw3-dev
    • For macOS, please run brew install fftw by using homebrew
    • This feature is unsupported on Windows
  • intel-mkl Use Intel MKL backend through intel-mkl-src
    • Only Linux and Windows are supported
Feature Linux Windows macOS
source ✔️ ✔️ ✔️
system ✔️ - ✔️
intel-mkl ✔️ ✔️ -

LICENSE

See LICENSE.md

Dependencies