aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-04 08:56:49 -0800
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-04 08:56:49 -0800
commitbcdcdace48703290e3b2271be92ad02b80afd679 (patch)
treef24fe754e1912b2f131ee7c8a4f99c515c3ce737 /Eigen/src/Core
parentf53537899573d8463985a33906a82e6c05a7aff9 (diff)
parent659fc9c1593e0bfd1b886557699573873198fb61 (diff)
Pulled latest updates from trunk
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r--Eigen/src/Core/GeneralProduct.h30
-rw-r--r--Eigen/src/Core/util/ForwardDeclarations.h4
2 files changed, 2 insertions, 32 deletions
diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h
index fe8204ac3..0769a212e 100644
--- a/Eigen/src/Core/GeneralProduct.h
+++ b/Eigen/src/Core/GeneralProduct.h
@@ -76,32 +76,6 @@ public:
#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
* based on the three dimensions of the product.
* 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<Small,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<Small,Large,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 = CoeffBasedProductMode }; };
template<> struct product_type_selector<Large,Large,Small> { enum { ret = GemmProduct }; };
} // end namespace internal
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h
index 483af876f..31c7088e7 100644
--- a/Eigen/src/Core/util/ForwardDeclarations.h
+++ b/Eigen/src/Core/util/ForwardDeclarations.h
@@ -94,10 +94,6 @@ template<typename BinaryOp, typename Lhs, typename Rhs> class CwiseBinaryOp;
template<typename Decomposition, typename Rhstype> class Solve;
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 Derived> class DiagonalBase;