- C 100%
|
|
||
|---|---|---|
| test | DCT-IV | |
| .gitattributes | attributes | |
| .gitignore | Put notebooks in git | |
| LICENSE | update copyright date | |
| lifft.h | pointless refactoring | |
| lifft_dct.h | update copyright date | |
| README.md | readme updates | |
🎛️ LiFFT
The little FFT library.
A simple FFT and DCT (II/III/IV) library in a header only format that makes it easy to drop into a project and use. Measuring in at ~150 sloc for the FFT functions, and another ~70 for DCTs it's main goal is just to be small and trivial to include in a project.
Performance isn't the main concern of LiFFT. It doesn't do SIMD or anything particularly fancy, but it's not too bad. Maybe a little over half the speed of FFTPACK. I've found this to be plenty of performance for doing large convolutions on multiple 48 khz audio streams for instance.
If you need something faster, PFFFT is heavily SIMD optimized, and it runs ~4x faster with a similar license. FFTW is usually considered the gold standard and runs ~6x faster, but is GPLed and several megabytes in size!