mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-09 22:51:51 +08:00
Fix ICE with ICC 11
(transplanted from 660b905e129c92fd0e8271d2df06d11347f4f32f )
This commit is contained in:
parent
e788869cf5
commit
5ecfdf2c00
@ -105,7 +105,7 @@ template<typename Derived> class SparseMatrixBase : public EigenBase<Derived>
|
|||||||
>::type AdjointReturnType;
|
>::type AdjointReturnType;
|
||||||
|
|
||||||
|
|
||||||
typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor> PlainObject;
|
typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor, Index> PlainObject;
|
||||||
|
|
||||||
|
|
||||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||||
|
@ -75,10 +75,10 @@ template<typename MatrixType, unsigned int UpLo> class SparseSelfAdjointView
|
|||||||
* Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
|
* Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
|
||||||
*/
|
*/
|
||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
SparseSparseProduct<SparseMatrix<Scalar, ((internal::traits<OtherDerived>::Flags&RowMajorBit) ? RowMajor : ColMajor),Index>, OtherDerived>
|
SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived>
|
||||||
operator*(const SparseMatrixBase<OtherDerived>& rhs) const
|
operator*(const SparseMatrixBase<OtherDerived>& rhs) const
|
||||||
{
|
{
|
||||||
return SparseSparseProduct<SparseMatrix<Scalar, (internal::traits<OtherDerived>::Flags&RowMajorBit) ? RowMajor : ColMajor, Index>, OtherDerived>(*this, rhs.derived());
|
return SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived>(*this, rhs.derived());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** \returns an expression of the matrix product between a sparse matrix \a lhs and a sparse self-adjoint matrix \a rhs.
|
/** \returns an expression of the matrix product between a sparse matrix \a lhs and a sparse self-adjoint matrix \a rhs.
|
||||||
@ -87,10 +87,10 @@ template<typename MatrixType, unsigned int UpLo> class SparseSelfAdjointView
|
|||||||
* Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
|
* Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.
|
||||||
*/
|
*/
|
||||||
template<typename OtherDerived> friend
|
template<typename OtherDerived> friend
|
||||||
SparseSparseProduct<OtherDerived, SparseMatrix<Scalar, ((internal::traits<OtherDerived>::Flags&RowMajorBit) ? RowMajor : ColMajor),Index> >
|
SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject >
|
||||||
operator*(const SparseMatrixBase<OtherDerived>& lhs, const SparseSelfAdjointView& rhs)
|
operator*(const SparseMatrixBase<OtherDerived>& lhs, const SparseSelfAdjointView& rhs)
|
||||||
{
|
{
|
||||||
return SparseSparseProduct< OtherDerived, SparseMatrix<Scalar, (internal::traits<OtherDerived>::Flags&RowMajorBit) ? RowMajor : ColMajor, Index> >(lhs.derived(), rhs.derived());
|
return SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject>(lhs.derived(), rhs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Efficient sparse self-adjoint matrix times dense vector/matrix product */
|
/** Efficient sparse self-adjoint matrix times dense vector/matrix product */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user