cleanup/simplification in computation of matrix flags

This commit is contained in:
Benoit Jacob 2010-03-03 09:58:43 -05:00
parent 7dbe806711
commit 45d19afb18

View File

@ -87,12 +87,13 @@ class ei_compute_matrix_flags
{ {
enum { enum {
row_major_bit = Options&RowMajor ? RowMajorBit : 0, row_major_bit = Options&RowMajor ? RowMajorBit : 0,
inner_max_size = MaxCols==1 ? MaxRows is_dynamic_size_storage = MaxRows==Dynamic || MaxCols==Dynamic,
: MaxRows==1 ? MaxCols is_fixed_size_aligned
: row_major_bit ? MaxCols : MaxRows, = (!is_dynamic_size_storage)
is_big = inner_max_size == Dynamic, && (((MaxCols*MaxRows) % ei_packet_traits<Scalar>::size) == 0),
is_packet_size_multiple = MaxRows==Dynamic || MaxCols==Dynamic || ((MaxCols*MaxRows) % ei_packet_traits<Scalar>::size) == 0, aligned_bit = (((Options&DontAlign)==0)
aligned_bit = (((Options&DontAlign)==0) && (is_big || is_packet_size_multiple)) ? AlignedBit : 0, && (is_dynamic_size_storage || is_fixed_size_aligned))
? AlignedBit : 0,
packet_access_bit = ei_packet_traits<Scalar>::size > 1 && aligned_bit ? PacketAccessBit : 0 packet_access_bit = ei_packet_traits<Scalar>::size > 1 && aligned_bit ? PacketAccessBit : 0
}; };