diff options
author | 2015-06-19 10:36:38 +0200 | |
---|---|---|
committer | 2015-06-19 10:36:38 +0200 | |
commit | d2db15016b5921c0c520d76a9f237131207cb53f (patch) | |
tree | c18359d14dad2b56da72d0fbe71f64e0bad1f2b1 /Eigen | |
parent | 6a9a29e96f9d31c0bedf5bd0853c0c5d9cbce391 (diff) |
Fix storage order computation in traits<Product>
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/Product.h | 9 |
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 }; }; |