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);