FFTW ================================== #. `Discrete Fourier Transform - Simple Step by Step `_ #. `The Two-Dimensional Discrete Fourier Transform `_ #. `How the 2D FFT works `_ #. `2D Fourier Transform Explained with Examples `_ #. `2 Dimensional Discrete Fourier Transform `_ #. `具体学习并实现快速傅里叶变换(FFT) `_ #. `fftpack `_ #. `Netlib Repository `_ #. `Python Programming and Numerical Methods - A Guide for Engineers and Scientists `_ #. `fftw3_doc `_ #. `The basic usage of FFTW `_ code :: /* determine precision and name-mangling scheme */ #define CONCAT(prefix, name) prefix ## name #if defined(FFTW_SINGLE) typedef float R; # define X(name) CONCAT(fftwf_, name) #elif defined(FFTW_LDOUBLE) typedef long double R; # define X(name) CONCAT(fftwl_, name) # define TRIGREAL_IS_LONG_DOUBLE #elif defined(FFTW_QUAD) typedef __float128 R; # define X(name) CONCAT(fftwq_, name) # define TRIGREAL_IS_QUAD #else typedef double R; # define X(name) CONCAT(fftw_, name) #endif struct solvtab_s { void (*reg)(planner *); const char *reg_nam; }; typedef struct solvtab_s solvtab[]; void X(solvtab_exec)(const solvtab tbl, planner *p);