| Crates.io | oxifft-codegen |
| lib.rs | oxifft-codegen |
| version | 0.1.2 |
| created_at | 2026-01-12 05:36:44.500519+00 |
| updated_at | 2026-01-26 01:29:52.689235+00 |
| description | Procedural macro crate for OxiFFT codelet generation |
| homepage | |
| repository | https://github.com/cool-japan/oxifft |
| max_upload_size | |
| id | 2037041 |
| size | 49,068 |
Procedural macro crate for OxiFFT codelet generation.
This crate replaces FFTW's OCaml-based genfft code generator with Rust procedural macros. It generates highly optimized FFT kernels (codelets) at compile time.
Base case FFT kernels that don't require twiddle factors. Used at the leaves of the FFT recursion.
use oxifft_codegen::gen_notw_codelet;
// Generates codelet_notw_8 function
gen_notw_codelet!(8);
FFT kernels that apply twiddle factors as part of the Cooley-Tukey recursion.
use oxifft_codegen::gen_twiddle_codelet;
// Generates codelet_twiddle_4 function
gen_twiddle_codelet!(4);
Architecture-specific SIMD-optimized kernels.
use oxifft_codegen::gen_simd_codelet;
// Generates SIMD-optimized size-8 codelet
gen_simd_codelet!(8);
The codelet generator follows FFTW's approach:
| Size | Non-Twiddle | Twiddle | SIMD |
|---|---|---|---|
| 2 | ✓ | ✓ | Planned |
| 4 | ✓ | ✓ | Planned |
| 8 | ✓ | ✓ | Planned |
| 16 | ✓ | Planned | Planned |
| 32 | ✓ | Planned | Planned |
| 64 | ✓ | Planned | Planned |
proc-macro2, quote, and syn for macro implementationFloat trait (f32/f64)Same as the parent OxiFFT project.