FFTW is a free collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, symmetric, and parallel transforms, and can handle arbitrary array sizes efficiently. FFTW is typically faster than other publically-available FFT implementations, and is even competitive with vendor-tuned libraries. By default non-portable binaries will be created. If you need to create a package that is shared among various machines, pass PORTABLE=yes to the script. To enable SSE or SSE2 SIMD optimizations pass SSE=yes or SSE2=yes respectively to the script. Enabling these will still create a portable package as fftw falls back to the standard code, if the optimized one isn't supported on the cpu. However, to be able to build them your cpu has to actually support those extensions.