Functions | |
void | itpp::fft (const cvec &in, cvec &out) |
Fast Fourier Transform. | |
cvec | itpp::fft (const cvec &in) |
Fast Fourier Transform. | |
cvec | itpp::fft (const cvec &in, const int N) |
Fast Fourier Transform, with zero-padding up to size N. | |
void | itpp::ifft (const cvec &in, cvec &out) |
Inverse Fast Fourier Transform. | |
cvec | itpp::ifft (const cvec &in) |
Inverse Fast Fourier Transform. | |
cvec | itpp::ifft (const cvec &in, const int N) |
Inverse Fast Fourier Transform, with zero-padding up to size N. | |
void | itpp::fft_real (const vec &in, cvec &out) |
Real Fast Fourier Transform. | |
cvec | itpp::fft_real (const vec &in) |
Real Fast Fourier Transform. | |
cvec | itpp::fft_real (const vec &in, const int N) |
Real Fast Fourier Transform, with zero-padding up to size N. | |
void | itpp::ifft_real (const cvec &in, vec &out) |
Inverse Real Fast Fourier Transform. Assumes even size. | |
vec | itpp::ifft_real (const cvec &in) |
Inverse Real Fast Fourier Transform. Assumes even size. | |
vec | itpp::ifft_real (const cvec &in, const int N) |
Inverse Real Fast Fourier Transform, with zero-padding up to size N. |
The functions
X = fft(x)
x = ifft(X)
Y = fft(X, N)
The implementation is built upon one of the following libraries:
Achieving maximum runtime efficiency with the FFTW library on some computer architectures requires that data are stored in the memory with a special alignment (to 16-byte boundaries). The IT++ memory management functions and container classes do not generally allocate memory aligned this way, and as a result calling FFTW via the IT++ interface (i.e. the fft() function) may be slower than using the FFTW library directly. Therefore, FFTW users concerned about maximum possible performance may want to consider the possibility of calling the FFTW library and its memory management/allocation routines directly, bypassing the IT++ storage classes and the fft() interface to FFTW.