From a30d42354f06b86e35838ff9e8c14b524bf1c8aa Mon Sep 17 00:00:00 2001 From: Mark Borgerding Date: Thu, 21 Jan 2010 21:10:16 -0500 Subject: updated comments and played around with Map --- unsupported/Eigen/FFT | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'unsupported/Eigen/FFT') diff --git a/unsupported/Eigen/FFT b/unsupported/Eigen/FFT index 8702120de..e0841a4e3 100644 --- a/unsupported/Eigen/FFT +++ b/unsupported/Eigen/FFT @@ -38,16 +38,16 @@ * #include * \endcode * - * This module provides Fast Fourier transformation, either using a built-in implementation - * or as a frontend to various FFT libraries. + * This module provides Fast Fourier transformation, with a configurable backend + * implementation. * - * The build-in implementation is based on kissfft. It is a small, free, and + * The default implementation is based on kissfft. It is a small, free, and * reasonably efficient default. * - * There are currently two frontends: + * There are currently two implementation backend: * * - fftw (http://www.fftw.org) : faster, GPL -- incompatible with Eigen in LGPL form, bigger code size. - * - MLK (http://en.wikipedia.org/wiki/Math_Kernel_Library) : fastest, commercial -- may be incompatible with Eigen in GPL form. + * - MKL (http://en.wikipedia.org/wiki/Math_Kernel_Library) : fastest, commercial -- may be incompatible with Eigen in GPL form. * * \section FFTDesign Design * @@ -228,20 +228,25 @@ class FFT } // TODO: multi-dimensional FFTs - - // TODO: handle Eigen MatrixBase - // ---> i added fwd and inv specializations above + unit test, is this enough? (bjacob) inline impl_type & impl() {return m_impl;} private: - template + template inline - void scale(_It x,_Val s,int nx) + void scale(T_Data * x,Scalar s,int nx) { +#if 1 for (int k=0;k::Map(x,nx) *= s; + else + Matrix::MapAligned(x,nx) *= s; + //Matrix::Map(x,nx) * s; +#endif } inline -- cgit v1.2.3