s/UnrolledProduct/CoeffBasedProduct

This commit is contained in:
Gael Guennebaud 2010-02-09 10:02:26 +01:00
parent c076fec734
commit 0398e21198
5 changed files with 15 additions and 15 deletions

View File

@ -71,11 +71,11 @@ class NoAlias
{ other.derived().subTo(m_expression); return m_expression; }
template<typename Lhs, typename Rhs>
EIGEN_STRONG_INLINE ExpressionType& operator+=(const GeneralProduct<Lhs,Rhs,UnrolledProduct>& other)
EIGEN_STRONG_INLINE ExpressionType& operator+=(const GeneralProduct<Lhs,Rhs,CoeffBasedProduct>& other)
{ return m_expression.derived() += other.template flagged<0,EvalBeforeAssigningBit|EvalBeforeNestingBit>(); }
template<typename Lhs, typename Rhs>
EIGEN_STRONG_INLINE ExpressionType& operator-=(const GeneralProduct<Lhs,Rhs,UnrolledProduct>& other)
EIGEN_STRONG_INLINE ExpressionType& operator-=(const GeneralProduct<Lhs,Rhs,CoeffBasedProduct>& other)
{ return m_expression.derived() -= other.template flagged<0,EvalBeforeAssigningBit|EvalBeforeNestingBit>(); }
#endif

View File

@ -87,12 +87,12 @@ public:
template<int Rows, int Cols> struct ei_product_type_selector<Rows, Cols, 1> { enum { ret = OuterProduct }; };
template<int Depth> struct ei_product_type_selector<1, 1, Depth> { enum { ret = InnerProduct }; };
template<> struct ei_product_type_selector<1, 1, 1> { enum { ret = InnerProduct }; };
template<> struct ei_product_type_selector<Small,1, Small> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<1, Small,Small> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<Small,Small,Small> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<Small, Small, 1> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<Small, Large, 1> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<Large, Small, 1> { enum { ret = UnrolledProduct }; };
template<> struct ei_product_type_selector<Small,1, Small> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<1, Small,Small> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<Small,Small,Small> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<Small, Small, 1> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<Small, Large, 1> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<Large, Small, 1> { enum { ret = CoeffBasedProduct }; };
template<> struct ei_product_type_selector<1, Large,Small> { enum { ret = GemvProduct }; };
template<> struct ei_product_type_selector<1, Large,Large> { enum { ret = GemvProduct }; };
template<> struct ei_product_type_selector<1, Small,Large> { enum { ret = GemvProduct }; };
@ -134,11 +134,11 @@ struct ProductReturnType
};
template<typename Lhs, typename Rhs>
struct ProductReturnType<Lhs,Rhs,UnrolledProduct>
struct ProductReturnType<Lhs,Rhs,CoeffBasedProduct>
{
typedef typename ei_nested<Lhs, Rhs::ColsAtCompileTime, typename ei_plain_matrix_type<Lhs>::type >::type LhsNested;
typedef typename ei_nested<Rhs, Lhs::RowsAtCompileTime, typename ei_plain_matrix_type<Rhs>::type >::type RhsNested;
typedef GeneralProduct<LhsNested, RhsNested, UnrolledProduct> Type;
typedef GeneralProduct<LhsNested, RhsNested, CoeffBasedProduct> Type;
};

View File

@ -83,7 +83,7 @@ class ProductBase : public MatrixBase<Derived>
typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType;
typedef typename ei_cleantype<ActualRhsType>::type _ActualRhsType;
typedef typename ProductReturnType<Lhs,Rhs,UnrolledProduct>::Type CoeffBaseProductType;
typedef typename ProductReturnType<Lhs,Rhs,CoeffBasedProduct>::Type CoeffBaseProductType;
typedef Flagged<CoeffBaseProductType,0,EvalBeforeNestingBit> LazyCoeffBaseProductType;
public:

View File

@ -43,7 +43,7 @@ template<int StorageOrder, int Index, typename Lhs, typename Rhs, typename Packe
struct ei_product_packet_impl;
template<typename LhsNested, typename RhsNested>
struct ei_traits<GeneralProduct<LhsNested,RhsNested,UnrolledProduct> >
struct ei_traits<GeneralProduct<LhsNested,RhsNested,CoeffBasedProduct> >
{
typedef DenseStorageMatrix DenseStorageType;
typedef typename ei_cleantype<LhsNested>::type _LhsNested;
@ -98,9 +98,9 @@ struct ei_traits<GeneralProduct<LhsNested,RhsNested,UnrolledProduct> >
};
};
template<typename LhsNested, typename RhsNested> class GeneralProduct<LhsNested,RhsNested,UnrolledProduct>
template<typename LhsNested, typename RhsNested> class GeneralProduct<LhsNested,RhsNested,CoeffBasedProduct>
: ei_no_assignment_operator,
public MatrixBase<GeneralProduct<LhsNested, RhsNested, UnrolledProduct> >
public MatrixBase<GeneralProduct<LhsNested, RhsNested, CoeffBasedProduct> >
{
public:

View File

@ -269,6 +269,6 @@ namespace Architecture
enum DenseStorageMatrix {};
enum DenseStorageArray {};
enum { OuterProduct, InnerProduct, UnrolledProduct, GemvProduct, GemmProduct };
enum { OuterProduct, InnerProduct, CoeffBasedProduct, GemvProduct, GemmProduct };
#endif // EIGEN_CONSTANTS_H