From 34c95029cad15201efb161a59d72f36cbf997f16 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 17 Dec 2009 10:00:35 +0100 Subject: a couple of fixes and cleaning --- test/linearstructure.cpp | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'test/linearstructure.cpp') diff --git a/test/linearstructure.cpp b/test/linearstructure.cpp index ac61d108f..3e570f2a0 100644 --- a/test/linearstructure.cpp +++ b/test/linearstructure.cpp @@ -58,30 +58,30 @@ template void linearStructure(const MatrixType& m) VERIFY_IS_APPROX((-m1+m2)*s1, -s1*m1+s1*m2); m3 = m2; m3 += m1; VERIFY_IS_APPROX(m3, m1+m2); -// m3 = m2; m3 -= m1; -// VERIFY_IS_APPROX(m3, m2-m1); -// m3 = m2; m3 *= s1; -// VERIFY_IS_APPROX(m3, s1*m2); -// if(NumTraits::HasFloatingPoint) -// { -// m3 = m2; m3 /= s1; -// VERIFY_IS_APPROX(m3, m2/s1); -// } + m3 = m2; m3 -= m1; + VERIFY_IS_APPROX(m3, m2-m1); + m3 = m2; m3 *= s1; + VERIFY_IS_APPROX(m3, s1*m2); + if(NumTraits::HasFloatingPoint) + { + m3 = m2; m3 /= s1; + VERIFY_IS_APPROX(m3, m2/s1); + } -// // again, test operator() to check const-qualification -// VERIFY_IS_APPROX((-m1)(r,c), -(m1(r,c))); -// VERIFY_IS_APPROX((m1-m2)(r,c), (m1(r,c))-(m2(r,c))); -// VERIFY_IS_APPROX((m1+m2)(r,c), (m1(r,c))+(m2(r,c))); -// VERIFY_IS_APPROX((s1*m1)(r,c), s1*(m1(r,c))); -// VERIFY_IS_APPROX((m1*s1)(r,c), (m1(r,c))*s1); -// if(NumTraits::HasFloatingPoint) -// VERIFY_IS_APPROX((m1/s1)(r,c), (m1(r,c))/s1); -// -// // use .block to disable vectorization and compare to the vectorized version -// VERIFY_IS_APPROX(m1+m1.block(0,0,rows,cols), m1+m1); -// VERIFY_IS_APPROX(m1.cwiseProduct(m1.block(0,0,rows,cols)), m1.cwiseProduct(m1)); -// VERIFY_IS_APPROX(m1 - m1.block(0,0,rows,cols), m1 - m1); -// VERIFY_IS_APPROX(m1.block(0,0,rows,cols) * s1, m1 * s1); + // again, test operator() to check const-qualification + VERIFY_IS_APPROX((-m1)(r,c), -(m1(r,c))); + VERIFY_IS_APPROX((m1-m2)(r,c), (m1(r,c))-(m2(r,c))); + VERIFY_IS_APPROX((m1+m2)(r,c), (m1(r,c))+(m2(r,c))); + VERIFY_IS_APPROX((s1*m1)(r,c), s1*(m1(r,c))); + VERIFY_IS_APPROX((m1*s1)(r,c), (m1(r,c))*s1); + if(NumTraits::HasFloatingPoint) + VERIFY_IS_APPROX((m1/s1)(r,c), (m1(r,c))/s1); + + // use .block to disable vectorization and compare to the vectorized version + VERIFY_IS_APPROX(m1+m1.block(0,0,rows,cols), m1+m1); + VERIFY_IS_APPROX(m1.cwiseProduct(m1.block(0,0,rows,cols)), m1.cwiseProduct(m1)); + VERIFY_IS_APPROX(m1 - m1.block(0,0,rows,cols), m1 - m1); + VERIFY_IS_APPROX(m1.block(0,0,rows,cols) * s1, m1 * s1); } void test_linearstructure() -- cgit v1.2.3