aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-06-19 10:36:38 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-06-19 10:36:38 +0200
commitd2db15016b5921c0c520d76a9f237131207cb53f (patch)
treec18359d14dad2b56da72d0fbe71f64e0bad1f2b1
parent6a9a29e96f9d31c0bedf5bd0853c0c5d9cbce391 (diff)
Fix storage order computation in traits<Product>
-rw-r--r--Eigen/src/Core/Product.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h
index 74b895792..7f0a9b589 100644
--- a/Eigen/src/Core/Product.h
+++ b/Eigen/src/Core/Product.h
@@ -80,10 +80,11 @@ struct traits<Product<Lhs, Rhs, Option> >
InnerSize = EIGEN_SIZE_MIN_PREFER_FIXED(LhsTraits::ColsAtCompileTime, RhsTraits::RowsAtCompileTime),
// The storage order is somewhat arbitrary here. The correct one will be determined through the evaluator.
- Flags = ( (MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1)
- || ((LhsTraits::Flags&NoPreferredStorageOrderBit) && (RhsTraits::Flags&RowMajorBit))
- || ((RhsTraits::Flags&NoPreferredStorageOrderBit) && (LhsTraits::Flags&RowMajorBit)) )
- ? RowMajorBit : (MaxColsAtCompileTime==1 ? 0 : NoPreferredStorageOrderBit)
+ Flags = (MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1) ? RowMajorBit
+ : (MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1) ? 0
+ : ( ((LhsTraits::Flags&NoPreferredStorageOrderBit) && (RhsTraits::Flags&RowMajorBit))
+ || ((RhsTraits::Flags&NoPreferredStorageOrderBit) && (LhsTraits::Flags&RowMajorBit)) ) ? RowMajorBit
+ : NoPreferredStorageOrderBit
};
};