diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-08-19 14:05:21 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-08-19 14:05:21 +0200 |
commit | 5354ffbb4f4d8db29097dba729da64be82b1f7b2 (patch) | |
tree | 0fcbc708814def3703b479a87fc7b612433eb397 /test | |
parent | 6264755dd38a145d52fa280fe98d54136f2e72e9 (diff) |
add missing specialization for vector * selfadjoint
Diffstat (limited to 'test')
-rw-r--r-- | test/product_symm.cpp | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/test/product_symm.cpp b/test/product_symm.cpp index 5064237ab..5ddae30c0 100644 --- a/test/product_symm.cpp +++ b/test/product_symm.cpp @@ -24,23 +24,6 @@ #include "main.h" -template<int OtherSize> struct symm_extra { - template<typename M1, typename M2, typename Scalar> - static void run(M1& m1, M1& m2, M2& rhs2, M2& rhs22, M2& rhs23, Scalar s1, Scalar s2) - { - m2 = m1.template triangularView<Lower>(); - VERIFY_IS_APPROX(rhs22 = (rhs2) * (m2).template selfadjointView<Lower>(), - rhs23 = (rhs2) * (m1)); - VERIFY_IS_APPROX(rhs22 = (s2*rhs2) * (s1*m2).template selfadjointView<Lower>(), - rhs23 = (s2*rhs2) * (s1*m1)); - } -}; - -template<> struct symm_extra<1> { - template<typename M1, typename M2, typename Scalar> - static void run(M1&, M1&, M2&, M2&, M2&, Scalar, Scalar) {} -}; - template<typename Scalar, int Size, int OtherSize> void symm(int size = Size, int othersize = OtherSize) { typedef typename NumTraits<Scalar>::Real RealScalar; @@ -105,8 +88,9 @@ template<typename Scalar, int Size, int OtherSize> void symm(int size = Size, in VERIFY_IS_APPROX(rhs12.noalias() += s1 * ((m2.adjoint()).template selfadjointView<Lower>() * (s2*rhs3).conjugate()), rhs13 += (s1*m1.adjoint()) * (s2*rhs3).conjugate()); - // test matrix * selfadjoint - symm_extra<OtherSize>::run(m1,m2,rhs2,rhs22,rhs23,s1,s2); + m2 = m1.template triangularView<Lower>(); + VERIFY_IS_APPROX(rhs22 = (rhs2) * (m2).template selfadjointView<Lower>(), rhs23 = (rhs2) * (m1)); + VERIFY_IS_APPROX(rhs22 = (s2*rhs2) * (s1*m2).template selfadjointView<Lower>(), rhs23 = (s2*rhs2) * (s1*m1)); } |