diff options
author | 2009-07-15 19:54:31 +0200 | |
---|---|---|
committer | 2009-07-15 19:54:31 +0200 | |
commit | 97c9445c60f307f6a59a212872173c256adf2acd (patch) | |
tree | d1497ad8b5c836341d73d53d6a45ec789456a40a /Eigen/src/Core/util | |
parent | 079fa81d84fc1efb3df784dc840f09b507db5536 (diff) | |
parent | 1578421ed14c23fa5c7ab3c818a069f1c1cefb8a (diff) |
synch with main devel branch
Diffstat (limited to 'Eigen/src/Core/util')
-rw-r--r-- | Eigen/src/Core/util/XprHelper.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index a4ffb8a20..d392e27ba 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -86,9 +86,11 @@ class ei_compute_matrix_flags { enum { row_major_bit = Options&RowMajor ? RowMajorBit : 0, - inner_max_size = row_major_bit ? MaxCols : MaxRows, + inner_max_size = MaxCols==1 ? MaxRows + : MaxRows==1 ? MaxCols + : row_major_bit ? MaxCols : MaxRows, is_big = inner_max_size == Dynamic, - is_packet_size_multiple = (Cols*Rows) % ei_packet_traits<Scalar>::size == 0, + is_packet_size_multiple = Rows==Dynamic || Cols==Dynamic || ((Cols*Rows) % ei_packet_traits<Scalar>::size) == 0, aligned_bit = (((Options&DontAlign)==0) && (is_big || is_packet_size_multiple)) ? AlignedBit : 0, packet_access_bit = ei_packet_traits<Scalar>::size > 1 && aligned_bit ? PacketAccessBit : 0 }; |