diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-04-16 15:17:39 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-04-16 15:17:39 +0200 |
commit | e4fe611e2c9cf7b2853016c39898a224b3ec51a3 (patch) | |
tree | 397a1bc72db5de8b7398ac989806efc9fcc3f034 /Eigen/src/Core/GeneralProduct.h | |
parent | c8e8f93d6ce9ed02a40ea08b5ccc1ef6e82de0f2 (diff) |
Enable lazy-coeff-based-product for vector*(1x1) products
Diffstat (limited to 'Eigen/src/Core/GeneralProduct.h')
-rw-r--r-- | Eigen/src/Core/GeneralProduct.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h index 53f934999..f7c5f4276 100644 --- a/Eigen/src/Core/GeneralProduct.h +++ b/Eigen/src/Core/GeneralProduct.h @@ -81,6 +81,8 @@ public: * This is a compile time mapping from {1,Small,Large}^3 -> {product types} */ // FIXME I'm not sure the current mapping is the ideal one. template<int M, int N> struct product_type_selector<M,N,1> { enum { ret = OuterProduct }; }; +template<int M> struct product_type_selector<M, 1, 1> { enum { ret = LazyCoeffBasedProductMode }; }; +template<int N> struct product_type_selector<1, N, 1> { enum { ret = LazyCoeffBasedProductMode }; }; template<int Depth> struct product_type_selector<1, 1, Depth> { enum { ret = InnerProduct }; }; template<> struct product_type_selector<1, 1, 1> { enum { ret = InnerProduct }; }; template<> struct product_type_selector<Small,1, Small> { enum { ret = CoeffBasedProductMode }; }; |