FFTW

  1. Discrete Fourier Transform - Simple Step by Step

  2. The Two-Dimensional Discrete Fourier Transform

  3. How the 2D FFT works

  4. 2D Fourier Transform Explained with Examples

  5. 2 Dimensional Discrete Fourier Transform

  6. 具体学习并实现快速傅里叶变换(FFT)

  7. fftpack

  8. Netlib Repository

  9. Python Programming and Numerical Methods - A Guide for Engineers and Scientists

  10. fftw3_doc

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