FFT (Fast Fourier Transform) functions translated into C

There are many implementations of the Fast Fourier Transform (FFT) on the Web. Each fulfils a particular niche. What appeared to be missing was an implementation in C of the FORTRAN subroutines which formed the foundation of these streams.

In the download available below are C function translations of the FORTRAN subroutine in Brigham's 1975 book, and that in the Cooley, Lewis, and Welsh paper of 1969.

A brief paper accompanies the code describing tests performed on each C function which suggests why the Cooley, Lewis, and Welsh function is the faster of the two implementations. Testing was performed using C compilers tcc, gcc, and clang, using two optimization levels, and three data lengths.

These FFT function translations are offered as a base on which the many applications of the FFT can be built.

Document version: New -- October 2021