aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/sparse_basic.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-02-17 13:46:17 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-02-17 13:46:17 +0100
commit3573a107120c3762c1f9b6b17f62d817ee1a9ec0 (patch)
treec1393053ba13db8e98105fc209639520cccc2009 /test/sparse_basic.cpp
parentbd6eca059d1026743188adecebd33ece12a23184 (diff)
Fix support for row (resp. column) of a column-major (resp. row-major) sparse matrix
Diffstat (limited to 'test/sparse_basic.cpp')
-rw-r--r--test/sparse_basic.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index d5ff9f80b..6c620f037 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -270,6 +270,14 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
VERIFY_IS_APPROX(m1.innerVector(0).dot(refM2.row(0)), refM1.row(0).dot(refM2.row(0)));
else
VERIFY_IS_APPROX(m1.innerVector(0).dot(refM2.row(0)), refM1.col(0).dot(refM2.row(0)));
+
+ DenseVector rv = DenseVector::Random(m1.cols());
+ DenseVector cv = DenseVector::Random(m1.rows());
+ Index r = internal::random<Index>(0,m1.rows()-2);
+ Index c = internal::random<Index>(0,m1.cols()-1);
+ VERIFY_IS_APPROX(( m1.template block<1,Dynamic>(r,0,1,m1.cols()).dot(rv)) , refM1.row(r).dot(rv));
+ VERIFY_IS_APPROX(m1.row(r).dot(rv), refM1.row(r).dot(rv));
+ VERIFY_IS_APPROX(m1.col(c).dot(cv), refM1.col(c).dot(cv));
VERIFY_IS_APPROX(m1.conjugate(), refM1.conjugate());
VERIFY_IS_APPROX(m1.real(), refM1.real());