FFTW3


Note: This software, like all software in H:\Contrib, is user-contributed and is unsupported by CTC staff. The contributor may be willing to provide some assistance with this software.
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
 
At CTC, these libraries are installed at H:\Contrib\FFTW3.  This folder contains the "Fast Fourier Transform in the West" (FFTW) libraries from http://www.fftw.org/.
 
Version 3.0.1.1-fma has been built with slight modification to avoid compiler and linker warnings. They take advantage of the streaming SIMD vector registers when they are available.  Most routines were compiled with the Intel C/C++ compiler v 8.1 Build 20041019Z.  A few were built with the Microsoft Visual C/C++ compiler v 13.10.3077 to avoid linker problems.  All use the cdecl linkage convention for x86 architecture processors.  All libraries have both C and Fortran-callable versions of the public functions in FFTW3.  The Fortran function names appear in both all-uppercase and all-lowercase.  Each of the libraries has been compiled with the multithread versions of the C runtime library (/MT for release versions and /MTd for debug versions).  These libraries are suitable for use with either the Intel 8.1 or the Microsoft C/C++ compilers and with the Intel Fortran 8.1 compiler.
 
Both static and dynamic libraries are provided.  The dlls are in the bin directory. The static libraries and import libraries for the dlls are in the lib directory. Each of those directories has libraries at the top level that contain both the single and double precision versions of FFTW3.  Subdirectories containing single-only and double-only versions of the libraries are called "single" and "double", respectively.  Documentation is in the doc directory. The top level of the html version is at doc/html/index.html.
 
Static libraries are in the lib folder, and are named fftw3st.lib for the release versions and fftw3std.lib for the debug versions.
 
Dynamic libraries are in the bin folder, and are named fftw3.dll and fftw3d.dll for the release and debug versions, respectively.  Their import libraries are in the lib folder and are named fftw3dll.dll and fftw3dlld.dll.  The export files are named fftw3dll.exp and fftw3dlld.exp and the program database files for debugging (in the bin folder) are named fftw3.pdb and fftw3d.pdb.
 
These libraries were compiled and tested by John Zollweg. It is possible that  they will link with code that is compiled using Fortran compilers from other vendors provided that the cdecl linkage convention is used.