mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-23 23:03:15 +08:00
fix compilation when mixing CompactAffine with Homogeneous objects
This commit is contained in:
parent
d30f0c0953
commit
703c8a0cc6
@ -232,13 +232,15 @@ template<typename MatrixType,typename Lhs>
|
|||||||
struct traits<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
|
struct traits<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
|
||||||
{
|
{
|
||||||
typedef typename take_matrix_for_product<Lhs>::type LhsMatrixType;
|
typedef typename take_matrix_for_product<Lhs>::type LhsMatrixType;
|
||||||
|
typedef typename remove_all<MatrixType>::type MatrixTypeCleaned;
|
||||||
|
typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned;
|
||||||
typedef typename make_proper_matrix_type<
|
typedef typename make_proper_matrix_type<
|
||||||
typename traits<MatrixType>::Scalar,
|
typename traits<MatrixTypeCleaned>::Scalar,
|
||||||
LhsMatrixType::RowsAtCompileTime,
|
LhsMatrixTypeCleaned::RowsAtCompileTime,
|
||||||
MatrixType::ColsAtCompileTime,
|
MatrixTypeCleaned::ColsAtCompileTime,
|
||||||
MatrixType::PlainObject::Options,
|
MatrixTypeCleaned::PlainObject::Options,
|
||||||
LhsMatrixType::MaxRowsAtCompileTime,
|
LhsMatrixTypeCleaned::MaxRowsAtCompileTime,
|
||||||
MatrixType::MaxColsAtCompileTime>::type ReturnType;
|
MatrixTypeCleaned::MaxColsAtCompileTime>::type ReturnType;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename MatrixType,typename Lhs>
|
template<typename MatrixType,typename Lhs>
|
||||||
@ -246,7 +248,8 @@ struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs>
|
|||||||
: public ReturnByValue<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
|
: public ReturnByValue<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
|
||||||
{
|
{
|
||||||
typedef typename traits<homogeneous_left_product_impl>::LhsMatrixType LhsMatrixType;
|
typedef typename traits<homogeneous_left_product_impl>::LhsMatrixType LhsMatrixType;
|
||||||
typedef typename remove_all<typename LhsMatrixType::Nested>::type LhsMatrixTypeNested;
|
typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned;
|
||||||
|
typedef typename remove_all<typename LhsMatrixTypeCleaned::Nested>::type LhsMatrixTypeNested;
|
||||||
typedef typename MatrixType::Index Index;
|
typedef typename MatrixType::Index Index;
|
||||||
homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs)
|
homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs)
|
||||||
: m_lhs(take_matrix_for_product<Lhs>::run(lhs)),
|
: m_lhs(take_matrix_for_product<Lhs>::run(lhs)),
|
||||||
@ -267,7 +270,7 @@ struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs>
|
|||||||
.template replicate<MatrixType::ColsAtCompileTime>(m_rhs.cols());
|
.template replicate<MatrixType::ColsAtCompileTime>(m_rhs.cols());
|
||||||
}
|
}
|
||||||
|
|
||||||
const typename LhsMatrixType::Nested m_lhs;
|
const typename LhsMatrixTypeCleaned::Nested m_lhs;
|
||||||
const typename MatrixType::Nested m_rhs;
|
const typename MatrixType::Nested m_rhs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user