fftw_test a C code which illustates the FFTW() Fast Fourier Transform library, by Matteo Frigo and Steven Johnson.
The FFTW library can compute the discrete Fourier transform of:
The length of the data is not required to be a power of 2. Any length of data can be processed.
The data is not restricted to 1 dimensional vectors. fftw() can handle data that is 2 or 3 dimensional. In fact, the program can handle data with any dimensionality.
Interested users should go to the FFTW home page: https://www.fftw.org/ which contains the current source code, examples, and documentation.
At link time, you must include the fftw() library. Depending on where this library is installed, an appropriate command might be
gcc myprog.c -lfftw
The information on this web page is distributed under the MIT license.
fftw_test examples are available in a C version and a Fortran90 version.
fftpack4, a C code which implements the Fast Fourier Transform (FFT) by Paul Swarztrauber and Dick Valent, translated by Andrew Fernandes;
fftpack5, a Fortran90 code which implements the Fast Fourier Transform by Paul Swarztrauber and Dick Valent;
gsl_test, a C code which includes a number of FFT routines.
sftpack, a C code which implements the "slow" Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
Matteo Frigo, Steven Johnson