aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-11-04 17:02:32 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-11-04 17:02:32 +0100
commitf6b1deebab06dda60ffea454ead6b581a138b513 (patch)
tree01da23d477da82bee7dfcec1d5c4d30e0940bcbc
parent36cd6daaae4e13711853b7c6ecab8a7cf3a84217 (diff)
Fix compilation of sparse-triangular to dense assignment
-rw-r--r--Eigen/src/SparseCore/SparseAssign.h1
-rw-r--r--test/sparse_basic.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/Eigen/src/SparseCore/SparseAssign.h b/Eigen/src/SparseCore/SparseAssign.h
index c5589492e..4a8dd12e4 100644
--- a/Eigen/src/SparseCore/SparseAssign.h
+++ b/Eigen/src/SparseCore/SparseAssign.h
@@ -64,6 +64,7 @@ struct Sparse2Dense {};
template<> struct AssignmentKind<SparseShape, SparseShape> { typedef Sparse2Sparse Kind; };
template<> struct AssignmentKind<SparseShape, SparseTriangularShape> { typedef Sparse2Sparse Kind; };
template<> struct AssignmentKind<DenseShape, SparseShape> { typedef Sparse2Dense Kind; };
+template<> struct AssignmentKind<DenseShape, SparseTriangularShape> { typedef Sparse2Dense Kind; };
template<typename DstXprType, typename SrcXprType>
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index d8e42e984..0c7d2c652 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -338,6 +338,10 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
refMat3 = refMat2.template triangularView<StrictlyLower>();
m3 = m2.template triangularView<StrictlyLower>();
VERIFY_IS_APPROX(m3, refMat3);
+
+ // check sparse-traingular to dense
+ refMat3 = m2.template triangularView<StrictlyUpper>();
+ VERIFY_IS_APPROX(refMat3, DenseMatrix(refMat2.template triangularView<StrictlyUpper>()));
}
// test selfadjointView