Skip to content

meisei4/fftw2-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fftw2-rs

A Rust workspace providing:

  1. fftw2-sys: A -sys crate bundling a minimal subset of the FFTW 2.1.5 C sources and raw FFI bindings.
  2. fftw2-rs: A thin Rust wrapper that re-exports the raw FFI for easy use in Rust projects.

Background

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.


Minimal C source set

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)

License

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-rs project—only the Rust bindings and workspace scaffolding are.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published