mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-21 17:19:36 +08:00
make ei_traist<Select> honors nested types
This commit is contained in:
parent
a7554023a4
commit
b26e12abcf
@ -45,15 +45,18 @@ template<typename ConditionMatrixType, typename ThenMatrixType, typename ElseMat
|
|||||||
struct ei_traits<Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >
|
struct ei_traits<Select<ConditionMatrixType, ThenMatrixType, ElseMatrixType> >
|
||||||
{
|
{
|
||||||
typedef typename ei_traits<ThenMatrixType>::Scalar Scalar;
|
typedef typename ei_traits<ThenMatrixType>::Scalar Scalar;
|
||||||
|
typedef typename ConditionMatrixType::Nested ConditionMatrixNested;
|
||||||
|
typedef typename ThenMatrixType::Nested ThenMatrixNested;
|
||||||
|
typedef typename ElseMatrixType::Nested ElseMatrixNested;
|
||||||
enum {
|
enum {
|
||||||
RowsAtCompileTime = ConditionMatrixType::RowsAtCompileTime,
|
RowsAtCompileTime = ConditionMatrixType::RowsAtCompileTime,
|
||||||
ColsAtCompileTime = ConditionMatrixType::ColsAtCompileTime,
|
ColsAtCompileTime = ConditionMatrixType::ColsAtCompileTime,
|
||||||
MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime,
|
MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime,
|
||||||
MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime,
|
MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime,
|
||||||
Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits,
|
Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits,
|
||||||
CoeffReadCost = ei_traits<ConditionMatrixType>::CoeffReadCost
|
CoeffReadCost = ei_traits<typename ei_cleantype<ConditionMatrixNested>::type>::CoeffReadCost
|
||||||
+ EIGEN_ENUM_MAX(ei_traits<ThenMatrixType>::CoeffReadCost,
|
+ EIGEN_ENUM_MAX(ei_traits<typename ei_cleantype<ThenMatrixNested>::type>::CoeffReadCost,
|
||||||
ei_traits<ElseMatrixType>::CoeffReadCost)
|
ei_traits<typename ei_cleantype<ElseMatrixNested>::type>::CoeffReadCost)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user