aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/products/GeneralUnrolled.h
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Core/products/GeneralUnrolled.h')
-rw-r--r--Eigen/src/Core/products/GeneralUnrolled.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/Eigen/src/Core/products/GeneralUnrolled.h b/Eigen/src/Core/products/GeneralUnrolled.h
index e8fb760ae..f04c27a95 100644
--- a/Eigen/src/Core/products/GeneralUnrolled.h
+++ b/Eigen/src/Core/products/GeneralUnrolled.h
@@ -32,7 +32,7 @@
/* Since the all the dimensions of the product are small, here we can rely
* on the generic Assign mechanism to evaluate the product per coeff (or packet).
- *
+ *
* Note that here the inner-loops should always be unrolled.
*/
@@ -45,10 +45,13 @@ struct ei_product_packet_impl;
template<typename LhsNested, typename RhsNested>
struct ei_traits<GeneralProduct<LhsNested,RhsNested,UnrolledProduct> >
{
+ typedef DenseStorageMatrix DenseStorageType;
typedef typename ei_cleantype<LhsNested>::type _LhsNested;
typedef typename ei_cleantype<RhsNested>::type _RhsNested;
typedef typename ei_scalar_product_traits<typename _LhsNested::Scalar, typename _RhsNested::Scalar>::ReturnType Scalar;
-
+ typedef typename ei_promote_storage_type<typename ei_traits<_LhsNested>::StorageType,
+ typename ei_traits<_RhsNested>::StorageType>::ret StorageType;
+
enum {
LhsCoeffReadCost = _LhsNested::CoeffReadCost,
RhsCoeffReadCost = _RhsNested::CoeffReadCost,