FFTEASY is a set of C functions for calculating Fast Fourier Transforms of real or complex data in any number of dimensions. The functions are designed to be easy to understand and incorporate into your C programs. They are available for free, but please read the terms of use before using them.

I am not claiming that the FFTEASY routines are the fastest FFT routines on the planet, and I'm not giving them out with any warranty of any kind. They are, however, free, easy to use, and flexible. In some informal tests I have run I found them to be roughly comparable in speed and accuracy to Numerical Recipes' Fourier transform routines, although the NR routines had slightly smaller numerical errors than mine.

If anyone out there does any other tests of FFTEASY I would be happy to hear about it and post a link to your results here. I would also be delighted if anyone wants to let me know about any modifications/improvements they've made on FFTEASY. For example, perhaps you might feel inspired to translate these functions into FORTRAN. Please let me know about it.

The documentation for FFTEASY is available in postscript or HTML. The FFTEASY functions themselves are all contained in a single file called ffteasy.c

Added on July, 2002: Jiri Janacek wrote an extension to FFTEASY that does convolution and correlation. He also made some small changes to the FFT functions. For example he made the multidimensional real FFT routine "in place," whereas I followed the NR convention of storing the Nyquist frequencies in a separate array. His modified version, including a brief description of his modifications, are in the file fftj.c.

Please feel free to contact me with any comments or questions at gfelder@email.smith.edu and/or visit my home page.