From 77a1373c3ac19862ce3a2085483df71501ac7fce Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 31 Mar 2011 15:32:21 +0200 Subject: fix trmm unit test --- test/product_trmm.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'test/product_trmm.cpp') diff --git a/test/product_trmm.cpp b/test/product_trmm.cpp index 9516dd07c..4220fff44 100644 --- a/test/product_trmm.cpp +++ b/test/product_trmm.cpp @@ -27,7 +27,6 @@ template void trmm(int rows=internal::random(1,320), int cols=internal::random(1,320), int otherCols = OtherCols==Dynamic?internal::random(1,320):OtherCols) { - typedef typename NumTraits::Real RealScalar; typedef Matrix TriMatrix; @@ -41,8 +40,8 @@ void trmm(int rows=internal::random(1,320), int cols=internal::random( OnTheRight ge_right(cols,otherCols); OnTheLeft ge_left(otherCols,rows); - ResSX ge_sx; - ResXS ge_xs; + ResSX ge_sx, ge_sx_save; + ResXS ge_xs, ge_xs_save; Scalar s1 = internal::random(), s2 = internal::random(); @@ -65,8 +64,10 @@ void trmm(int rows=internal::random(1,320), int cols=internal::random( VERIFY_IS_APPROX( ge_xs.noalias() = (s1*mat.adjoint()).template triangularView() * (s2*ge_left.adjoint()), s1*triTr.conjugate() * (s2*ge_left.adjoint())); VERIFY_IS_APPROX( ge_sx.noalias() = ge_right.adjoint() * mat.adjoint().template triangularView(), ge_right.adjoint() * triTr.conjugate()); - VERIFY_IS_APPROX( (ge_xs+s1*triTr.conjugate() * (s2*ge_left.adjoint())).eval(), ge_xs.noalias() += (s1*mat.adjoint()).template triangularView() * (s2*ge_left.adjoint()) ); - VERIFY_IS_APPROX( (ge_sx-ge_right.adjoint() * triTr.conjugate()).eval(), ge_sx.noalias() -= ge_right.adjoint() * mat.adjoint().template triangularView()); + ge_xs_save = ge_xs; + VERIFY_IS_APPROX( (ge_xs_save + s1*triTr.conjugate() * (s2*ge_left.adjoint())).eval(), ge_xs.noalias() += (s1*mat.adjoint()).template triangularView() * (s2*ge_left.adjoint()) ); + ge_sx_save = ge_sx; + VERIFY_IS_APPROX( ge_sx_save - (ge_right.adjoint() * (-s1 * triTr).conjugate()).eval(), ge_sx.noalias() -= (ge_right.adjoint() * (-s1 * mat).adjoint().template triangularView()).eval()); VERIFY_IS_APPROX( ge_xs = (s1*mat).adjoint().template triangularView() * ge_left.adjoint(), internal::conj(s1) * triTr.conjugate() * ge_left.adjoint()); -- cgit v1.2.3