diff options
Diffstat (limited to 'unsupported/Eigen/FFT')
-rw-r--r-- | unsupported/Eigen/FFT | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/unsupported/Eigen/FFT b/unsupported/Eigen/FFT index 8702120de..0cc10bafb 100644 --- a/unsupported/Eigen/FFT +++ b/unsupported/Eigen/FFT @@ -187,7 +187,7 @@ class FFT { m_impl.inv( dst,src,nfft ); if ( HasFlag( Unscaled ) == false) - scale(dst,1./nfft,nfft); + scale(dst,_Scalar(1./nfft),nfft); } inline @@ -237,8 +237,14 @@ class FFT private: template <typename _It,typename _Val> - inline - void scale(_It x,_Val s,int nx) + inline void scale(_It x,_Val s,int nx) + { + for (int k=0;k<nx;++k) + *x++ *= _Scalar(s); + } + + template <typename _Val> + inline void scale(std::complex<_Val>* x,_Val s,int nx) { for (int k=0;k<nx;++k) *x++ *= s; |