Re-enable products with triangular views of sparse matrices: we simply have to treat them as a sparse matrix.

This commit is contained in:
Gael Guennebaud
2014-10-06 16:11:26 +02:00
parent 893bfcf95f
commit d44d432baa
5 changed files with 49 additions and 8 deletions

View File

@@ -247,7 +247,7 @@ template<typename _MatrixType, unsigned int _Mode> class TriangularView
inline const AdjointReturnType adjoint() const
{ return AdjointReturnType(m_matrix.adjoint()); }
typedef TriangularView<Transpose<MatrixType>,TransposeMode> TransposeReturnType;
typedef TriangularView<typename MatrixType::TransposeReturnType,TransposeMode> TransposeReturnType;
/** \sa MatrixBase::transpose() */
EIGEN_DEVICE_FUNC
inline TransposeReturnType transpose()
@@ -255,11 +255,13 @@ template<typename _MatrixType, unsigned int _Mode> class TriangularView
EIGEN_STATIC_ASSERT_LVALUE(MatrixType)
return TransposeReturnType(m_matrix.const_cast_derived().transpose());
}
typedef TriangularView<const typename MatrixType::ConstTransposeReturnType,TransposeMode> ConstTransposeReturnType;
/** \sa MatrixBase::transpose() const */
EIGEN_DEVICE_FUNC
inline const TransposeReturnType transpose() const
inline const ConstTransposeReturnType transpose() const
{
return TransposeReturnType(m_matrix.transpose());
return ConstTransposeReturnType(m_matrix.transpose());
}
template<typename Other>