aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/test/FFTW.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-02-17 09:56:46 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-02-17 09:56:46 +0100
commit3bb57e21a8e56917e490a514ab7ebfd3cd3811ab (patch)
tree337a083fdecc2de43c5a08756ebfda8c18e1ec15 /unsupported/test/FFTW.cpp
parent4b6b3f310f5b651d82a65eb546e61d70c09407c5 (diff)
Fix FFTW unit test with clang
Diffstat (limited to 'unsupported/test/FFTW.cpp')
-rw-r--r--unsupported/test/FFTW.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/unsupported/test/FFTW.cpp b/unsupported/test/FFTW.cpp
index a07bf274b..d3718e2d2 100644
--- a/unsupported/test/FFTW.cpp
+++ b/unsupported/test/FFTW.cpp
@@ -16,9 +16,6 @@ std::complex<T> RandomCpx() { return std::complex<T>( (T)(rand()/(T)RAND_MAX - .
using namespace std;
using namespace Eigen;
-float norm(float x) {return x*x;}
-double norm(double x) {return x*x;}
-long double norm(long double x) {return x*x;}
template < typename T>
complex<long double> promote(complex<T> x) { return complex<long double>(x.real(),x.imag()); }
@@ -40,11 +37,11 @@ complex<long double> promote(long double x) { return complex<long double>( x);
for (size_t k1=0;k1<(size_t)timebuf.size();++k1) {
acc += promote( timebuf[k1] ) * exp( complex<long double>(0,k1*phinc) );
}
- totalpower += norm(acc);
+ totalpower += numext::abs2(acc);
complex<long double> x = promote(fftbuf[k0]);
complex<long double> dif = acc - x;
- difpower += norm(dif);
- //cerr << k0 << "\t" << acc << "\t" << x << "\t" << sqrt(norm(dif)) << endl;
+ difpower += numext::abs2(dif);
+ //cerr << k0 << "\t" << acc << "\t" << x << "\t" << sqrt(numext::abs2(dif)) << endl;
}
cerr << "rmse:" << sqrt(difpower/totalpower) << endl;
return sqrt(difpower/totalpower);
@@ -57,8 +54,8 @@ complex<long double> promote(long double x) { return complex<long double>( x);
long double difpower=0;
size_t n = (min)( buf1.size(),buf2.size() );
for (size_t k=0;k<n;++k) {
- totalpower += (norm( buf1[k] ) + norm(buf2[k]) )/2.;
- difpower += norm(buf1[k] - buf2[k]);
+ totalpower += (numext::abs2( buf1[k] ) + numext::abs2(buf2[k]) )/2.;
+ difpower += numext::abs2(buf1[k] - buf2[k]);
}
return sqrt(difpower/totalpower);
}