aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/FFTW.cpp
diff options
context:
space:
mode:
authorGravatar Mark Borgerding <mark@borgerding.net>2010-01-22 01:17:36 -0500
committerGravatar Mark Borgerding <mark@borgerding.net>2010-01-22 01:17:36 -0500
commit141c746fc71b3f615378c5dc01cef2582682e3bd (patch)
tree71c76c0eb45ebac9567447a4f073043ae8412602 /unsupported/test/FFTW.cpp
parentcd7912313dc2477283de767029462d7d0e6ee8ab (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.cpp26
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>() );
}