fix compilation of rowmajor sparse time diagonal

This commit is contained in:
Gael Guennebaud 2011-01-14 20:29:55 +01:00
parent dcbf091e60
commit 8b6c1caa3e

View File

@ -166,18 +166,17 @@ class sparse_diagonal_product_inner_iterator_selector
: public CwiseBinaryOp< : public CwiseBinaryOp<
scalar_product_op<typename Rhs::Scalar>, scalar_product_op<typename Rhs::Scalar>,
SparseInnerVectorSet<Lhs,1>, SparseInnerVectorSet<Lhs,1>,
Transpose<typename Rhs::DiagonalVectorType> >::InnerIterator Transpose<const typename Rhs::DiagonalVectorType> >::InnerIterator
{ {
typedef typename CwiseBinaryOp< typedef typename CwiseBinaryOp<
scalar_product_op<typename Rhs::Scalar>, scalar_product_op<typename Rhs::Scalar>,
SparseInnerVectorSet<Lhs,1>, SparseInnerVectorSet<Lhs,1>,
Transpose<typename Rhs::DiagonalVectorType> >::InnerIterator Base; Transpose<const typename Rhs::DiagonalVectorType> >::InnerIterator Base;
typedef typename Lhs::Index Index; typedef typename Lhs::Index Index;
public: public:
inline sparse_diagonal_product_inner_iterator_selector( inline sparse_diagonal_product_inner_iterator_selector(
const SparseDiagonalProductType& expr, Index outer) const SparseDiagonalProductType& expr, Index outer)
: Base(expr.lhs().innerVector(outer) .cwiseProduct(expr.rhs().const_cast_derived().diagonal().transpose()), 0) : Base(expr.lhs().innerVector(outer) .cwiseProduct(expr.rhs().diagonal().transpose()), 0)
// the const_cast_derived above is to get it to compile. once Sparse is const correct, that shouldn't be needed anymore.
{} {}
}; };