Home

Awesome

PocketFFT

This is a heavily modified implementation of FFTPack [1,2], with the following advantages:

License

3-clause BSD (see LICENSE.md)

Some code details

Twiddle factor computation:

Parallel invocation:

Efficient codelets are available for the factors:

Larger prime factors are handled by somewhat less efficient, generic routines.

For lengths with very large prime factors, Bluestein's algorithm is used, and instead of an FFT of length n, a convolution of length n2 >= 2*n-1 is performed, where n2 is chosen to be highly composite.

[1] Swarztrauber, P. 1982, Vectorizing the Fast Fourier Transforms (New York: Academic Press), 51

[2] https://www.netlib.org/fftpack/

[3] https://en.wikipedia.org/wiki/Chirp_Z-transform