From 736a805883a1e20c0a224a06b1ea5c1067c7a670 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 16 Jun 2015 22:11:41 +0200 Subject: Add unit test for bug #879 --- test/product_mmtr.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/product_mmtr.cpp') diff --git a/test/product_mmtr.cpp b/test/product_mmtr.cpp index ecb5c36a3..b66529acd 100644 --- a/test/product_mmtr.cpp +++ b/test/product_mmtr.cpp @@ -33,6 +33,8 @@ template void mmtr(int size) MatrixColMaj osc(othersize,size); osc.setRandom(); MatrixRowMaj sor(size,othersize); sor.setRandom(); MatrixRowMaj osr(othersize,size); osr.setRandom(); + MatrixColMaj sqc(size,size); sqc.setRandom(); + MatrixRowMaj sqr(size,size); sqr.setRandom(); Scalar s = internal::random(); @@ -50,6 +52,16 @@ template void mmtr(int size) CHECK_MMTR(matc, Upper, -= s*(osc.transpose()*osc.conjugate())); CHECK_MMTR(matr, Lower, -= s*soc*soc.adjoint()); CHECK_MMTR(matr, Upper, -= soc*(s*soc.adjoint())); + + CHECK_MMTR(matc, Lower, -= s*sqr*sqc.template triangularView()); + CHECK_MMTR(matc, Upper, = s*sqc*sqr.template triangularView()); + CHECK_MMTR(matc, Lower, += s*sqr*sqc.template triangularView()); + CHECK_MMTR(matc, Upper, = s*sqc*sqc.template triangularView()); + + CHECK_MMTR(matc, Lower, = (s*sqr).template triangularView()*sqc); + CHECK_MMTR(matc, Upper, -= (s*sqc).template triangularView()*sqc); + CHECK_MMTR(matc, Lower, = (s*sqr).template triangularView()*sqc); + CHECK_MMTR(matc, Upper, += (s*sqc).template triangularView()*sqc); } void test_product_mmtr() -- cgit v1.2.3