aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/product_notemporary.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-01-30 08:17:46 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-01-30 08:17:46 +0100
commit6e67d15795272cec06f752d44511bab5de98707c (patch)
treeb20575ccadf4d467e580304f27f9cb33cb49ed94 /test/product_notemporary.cpp
parent157a5040d5372b65a9669a7f84c8c8cef82b6ee6 (diff)
now gemv supports strides
Diffstat (limited to 'test/product_notemporary.cpp')
-rw-r--r--test/product_notemporary.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/product_notemporary.cpp b/test/product_notemporary.cpp
index 0d33e0ffb..980e2bbaf 100644
--- a/test/product_notemporary.cpp
+++ b/test/product_notemporary.cpp
@@ -60,7 +60,7 @@ template<typename MatrixType> void product_notemporary(const MatrixType& m)
m2 = MatrixType::Random(rows, cols),
m3(rows, cols);
RowVectorType rv1 = RowVectorType::Random(rows), rvres(rows);
- ColVectorType vc2 = ColVectorType::Random(cols), cvres(cols);
+ ColVectorType cv1 = ColVectorType::Random(cols), cvres(cols);
RowMajorMatrixType rm3(rows, cols);
Scalar s1 = internal::random<Scalar>(),
@@ -128,6 +128,13 @@ template<typename MatrixType> void product_notemporary(const MatrixType& m)
// Zero temporaries for ... CoeffBasedProductMode
// - does not work with GCC because of the <..>, we'ld need variadic macros ...
//VERIFY_EVALUATION_COUNT( m3.col(0).head<5>() * m3.col(0).transpose() + m3.col(0).head<5>() * m3.col(0).transpose(), 0 );
+
+ // Check matrix * vectors
+ VERIFY_EVALUATION_COUNT( cvres.noalias() = m1 * cv1, 0 );
+ VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * cv1, 0 );
+ VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * m2.col(0), 0 );
+ VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * rv1.adjoint(), 0 );
+ VERIFY_EVALUATION_COUNT( cvres.noalias() -= m1 * m2.row(0).transpose(), 0 );
}
void test_product_notemporary()