A Rust workspace providing:
fftw2-sys: A-syscrate bundling a minimal subset of the FFTW 2.1.5 C sources and raw FFI bindings.fftw2-rs: A thin Rust wrapper that re-exports the raw FFI for easy use in Rust projects.
FFTW ("Fastest Fourier Transform in the West") is a historically important optimized C library for computing Discrete Fourier Transforms: https://ja.wikipedia.org/wiki/FFTW.
This workspace packages FFTW version 2.1.5 (downloaded from https://www.fftw.org/fftw-2.1.5.tar.gz). The official FFTW 3 repository (a later major version) lives at github.com/FFTW/fftw3.
To keep the fftw2-sys crate lightweight, we only vendor the core C files needed to build and run a simple FFT:
config.c,executor.c,fftwnd.c,planner.c,putils.c,timer.c,generic.c,rader.c,twiddle.c,malloc.c,wisdom.c,wisdomio.c- Forward and inverse no‑twiddle codelets:
fn_*.c,fni_*.c - Forward and inverse twiddle codelets:
ftw_*.c,ftwi_*.c
All vendored sources reside under fftw2-sys/fftw_1997/.
These source files may be subject to stubbing and or removal in the future to reduce the size of the repo (currently this is only used for my https://github.com/meisei4/bath with historical context of this library)
This crate bundles the FFTW 2.1.5 C sources, which are licensed under the GNU General Public License version 2 or later by the Massachusetts Institute of Technology. By using fftw2-sys, you agree to comply with the GPLv2 (or later) terms (en.wikipedia.org).
All Rust binding code, build scripts, and the thin fftw2-rs wrapper (everything outside fftw2-sys/fftw_1997/) are entirely the work of the fftw2-rs
Note: The FFTW C code is not authored by the
fftw2-rsproject—only the Rust bindings and workspace scaffolding are.