next up previous
Next: Using FFTEASY Up: FFTEASY C Routines for Previous: FFTEASY C Routines for

What FFTEASY Is and What It Isn't

FFTEASY is a series of C functions for doing Fast Fourier Transforms (FFTs) of real or complex data in any number of dimensions. The routines are designed to be short, readable, and easy to use. If you are comfortable programming in C and are somewhat familiar with FFTs it shouldn't take you more than an hour to read these instructions, link FFTEASY into your C program, and start doing Fourier transforms to your heart's content.

FFTEASY is not the fastest or highest precision FFT routine out there. If you want to do millions of transforms of large three-dimensional grids you probably want to find a better optimized set of routines. FFTEASY also requires that the number of data points in each dimension be a power of two. The advantages of FFTEASY are that it is simple to understand, simple to use, free, and capable of handling arbitrary dimensions of real or complex data. (In my experience most FFT routines handle either multi-dimensional complex data or one-dimensional real data, but for some reason there seem to be very few out there for multi-dimensional real data, which is what I actually wrote the routines for in the first place.)

FFTEASY consists of the four C functions fftc1, fftcn, fftr1, and fftrn. FFTEASY is free. I am not in any way, shape, or form expecting to make money off of these routines. I wrote them because I needed them for some work I was doing and I'm putting them out on the Internet in case other people might find them useful. Feel free to download them, incorporate them into your code, modify them, translate the comment lines into Swahili, or whatever else you want. What I do want is the following:

  1. Leave this notice (i.e. this entire paragraph beginning with ``FFTEASY consists of...'' and ending with my email address) in with the code wherever you put it. Even if you're just using it in-house in your department, business, or wherever else I would like these credits to remain with it. This is partly so that people can...
  2. Give me feedback. Did FFTEASY work great for you and help your work? Did you hate it? Did you find a way to improve it, or translate it into another programming language? Whatever the case might be, I would love to hear about it. Please let me know at the email address below.
  3. Finally, insofar as I have the legal right to do so I forbid you to make money off of this code without my consent. In other words if you want to publish these functions in a book or bundle them into commercial software or anything like that contact me about it first. I'll probably say yes, but I would like to reserve that right.
For any comments or questions you can reach me at
Gary Felder
next up previous
Next: Using FFTEASY Up: FFTEASY C Routines for Previous: FFTEASY C Routines for

Go to The FFTEASY Home Page
Go to Gary Felder's Home Page
Send email to Gary at

This documentation was generated on 2003-09-30