diff options
author | Mark Borgerding <mark@borgerding.net> | 2010-01-22 01:17:36 -0500 |
---|---|---|
committer | Mark Borgerding <mark@borgerding.net> | 2010-01-22 01:17:36 -0500 |
commit | 141c746fc71b3f615378c5dc01cef2582682e3bd (patch) | |
tree | 71c76c0eb45ebac9567447a4f073043ae8412602 /unsupported/test/FFTW.cpp | |
parent | cd7912313dc2477283de767029462d7d0e6ee8ab (diff) |
if the src.stride() != 1, then the layout is not continuous -- need to copy to temporary
Diffstat (limited to 'unsupported/test/FFTW.cpp')
-rw-r--r-- | unsupported/test/FFTW.cpp | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/unsupported/test/FFTW.cpp b/unsupported/test/FFTW.cpp index df38efe64..47ef5de97 100644 --- a/unsupported/test/FFTW.cpp +++ b/unsupported/test/FFTW.cpp @@ -123,43 +123,27 @@ void test_complex(int nfft) template <typename T,int nrows,int ncols> void test_complex2d() { - typedef typename Eigen::FFT<T>::Complex Complex; FFT<T> fft; + Eigen::Matrix<Complex,nrows,ncols> src,src2,dst,dst2; - Eigen::Matrix<Complex,nrows,ncols> src; - Eigen::Matrix<Complex,nrows,ncols> dst; - Eigen::Matrix<Complex,nrows,ncols> src2; - Eigen::Matrix<Complex,nrows,ncols> dst2; - - //src = Eigen::Matrix<Complex,nrows,ncols>::Random(); - src = Eigen::Matrix<Complex,nrows,ncols>::Identity(); + src = Eigen::Matrix<Complex,nrows,ncols>::Random(); + //src = Eigen::Matrix<Complex,nrows,ncols>::Identity(); for (int k=0;k<ncols;k++) { - Eigen::Matrix<Complex,nrows,1> tmpIn = src.col(k); Eigen::Matrix<Complex,nrows,1> tmpOut; - fft.fwd( &tmpOut,tmpIn ); + fft.fwd( &tmpOut,src.col(k) ); dst2.col(k) = tmpOut; } - //cout << "dst2: " << dst2 << "\n\n"; for (int k=0;k<nrows;k++) { - Eigen::Matrix<Complex,1,ncols> tmpIn = dst2.row(k); Eigen::Matrix<Complex,1,ncols> tmpOut; - fft.fwd( &tmpOut, tmpIn); + fft.fwd( &tmpOut, dst2.row(k) ); dst2.row(k) = tmpOut; } -/* -*/ fft.fwd2(dst.data(),src.data(),nrows,ncols); fft.inv2(src2.data(),dst.data(),nrows,ncols); - /* - cout << "src: " << src << "\n\n"; - cout << "dst: " << dst << "\n\n"; - cout << "src2: " << src2 << "\n\n"; - cout << "dst2: " << dst2 << "\n\n"; - */ VERIFY( (src-src2).norm() < test_precision<T>() ); VERIFY( (dst-dst2).norm() < test_precision<T>() ); } |