mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-27 07:29:52 +08:00
Pulled latest updates from trunk
This commit is contained in:
commit
bcdcdace48
@ -76,32 +76,6 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
// template<typename Lhs, typename Rhs> struct product_tag
|
|
||||||
// {
|
|
||||||
// private:
|
|
||||||
//
|
|
||||||
// typedef typename remove_all<Lhs>::type _Lhs;
|
|
||||||
// typedef typename remove_all<Rhs>::type _Rhs;
|
|
||||||
// enum {
|
|
||||||
// Rows = _Lhs::RowsAtCompileTime,
|
|
||||||
// Cols = _Rhs::ColsAtCompileTime,
|
|
||||||
// Depth = EIGEN_SIZE_MIN_PREFER_FIXED(_Lhs::ColsAtCompileTime, _Rhs::RowsAtCompileTime)
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// enum {
|
|
||||||
// rows_select = Rows==1 ? int(Rows) : int(Large),
|
|
||||||
// cols_select = Cols==1 ? int(Cols) : int(Large),
|
|
||||||
// depth_select = Depth==1 ? int(Depth) : int(Large)
|
|
||||||
// };
|
|
||||||
// typedef product_type_selector<rows_select, cols_select, depth_select> selector;
|
|
||||||
//
|
|
||||||
// public:
|
|
||||||
// enum {
|
|
||||||
// ret = selector::ret
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// };
|
|
||||||
|
|
||||||
/* The following allows to select the kind of product at compile time
|
/* The following allows to select the kind of product at compile time
|
||||||
* based on the three dimensions of the product.
|
* based on the three dimensions of the product.
|
||||||
* This is a compile time mapping from {1,Small,Large}^3 -> {product types} */
|
* This is a compile time mapping from {1,Small,Large}^3 -> {product types} */
|
||||||
@ -125,8 +99,8 @@ template<> struct product_type_selector<Small,Small,Large> { enum
|
|||||||
template<> struct product_type_selector<Large,Small,Large> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Large,Small,Large> { enum { ret = GemmProduct }; };
|
||||||
template<> struct product_type_selector<Small,Large,Large> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Small,Large,Large> { enum { ret = GemmProduct }; };
|
||||||
template<> struct product_type_selector<Large,Large,Large> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Large,Large,Large> { enum { ret = GemmProduct }; };
|
||||||
template<> struct product_type_selector<Large,Small,Small> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Large,Small,Small> { enum { ret = CoeffBasedProductMode }; };
|
||||||
template<> struct product_type_selector<Small,Large,Small> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Small,Large,Small> { enum { ret = CoeffBasedProductMode }; };
|
||||||
template<> struct product_type_selector<Large,Large,Small> { enum { ret = GemmProduct }; };
|
template<> struct product_type_selector<Large,Large,Small> { enum { ret = GemmProduct }; };
|
||||||
|
|
||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
@ -94,10 +94,6 @@ template<typename BinaryOp, typename Lhs, typename Rhs> class CwiseBinaryOp;
|
|||||||
template<typename Decomposition, typename Rhstype> class Solve;
|
template<typename Decomposition, typename Rhstype> class Solve;
|
||||||
template<typename XprType> class Inverse;
|
template<typename XprType> class Inverse;
|
||||||
|
|
||||||
namespace internal {
|
|
||||||
template<typename Lhs, typename Rhs> struct product_tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename Lhs, typename Rhs, int Option = DefaultProduct> class Product;
|
template<typename Lhs, typename Rhs, int Option = DefaultProduct> class Product;
|
||||||
|
|
||||||
template<typename Derived> class DiagonalBase;
|
template<typename Derived> class DiagonalBase;
|
||||||
|
Loading…
Reference in New Issue
Block a user