diff options
author | Mark Borgerding <mark@borgerding.net> | 2009-05-22 22:37:59 -0400 |
---|---|---|
committer | Mark Borgerding <mark@borgerding.net> | 2009-05-22 22:37:59 -0400 |
commit | 8b4afe3debb47bf15ea291a7f2d21d863d546536 (patch) | |
tree | d81260b937fa2e681015e76b561349192cacee24 /unsupported/Eigen/src/FFT | |
parent | 68cad98bc935e53102a9432560085b81c5766743 (diff) |
added non-optimized real forward fft (no inverse yet)
Diffstat (limited to 'unsupported/Eigen/src/FFT')
-rw-r--r-- | unsupported/Eigen/src/FFT/simple_fft_traits.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/unsupported/Eigen/src/FFT/simple_fft_traits.h b/unsupported/Eigen/src/FFT/simple_fft_traits.h index 6fbbeac2e..5a910dd1f 100644 --- a/unsupported/Eigen/src/FFT/simple_fft_traits.h +++ b/unsupported/Eigen/src/FFT/simple_fft_traits.h @@ -34,7 +34,8 @@ namespace Eigen { typedef std::complex<Scalar> Complex; simple_fft_traits() : m_nfft(0) {} - void prepare(int nfft,bool inverse,Complex * dst,const Complex *src) + template <typename _Src> + void prepare(int nfft,bool inverse,Complex * dst,const _Src *src) { if (m_nfft == nfft) { // reuse the twiddles, conjugate if necessary @@ -73,7 +74,8 @@ namespace Eigen { }while(n>1); } - void exec(Complex * dst, const Complex * src) + template <typename _Src> + void exec(Complex * dst, const _Src * src) { work(0, dst, src, 1,1); } @@ -89,7 +91,9 @@ namespace Eigen { private: - void work( int stage,Complex * Fout, const Complex * f, size_t fstride,size_t in_stride) + + template <typename _Src> + void work( int stage,Complex * Fout, const _Src * f, size_t fstride,size_t in_stride) { int p = m_stageRadix[stage]; int m = m_stageRemainder[stage]; |