diff --git a/Eigen/src/Core/Block.h b/Eigen/src/Core/Block.h index dd07142c6..79c9dd421 100644 --- a/Eigen/src/Core/Block.h +++ b/Eigen/src/Core/Block.h @@ -81,8 +81,7 @@ struct ei_traits > : ei_tr : (MaxColsAtCompileTime==1&&MaxRowsAtCompileTime!=1) ? 0 : XprTypeIsRowMajor, HasSameStorageOrderAsXprType = (IsRowMajor == XprTypeIsRowMajor), - InnerSize = XprTypeIsRowMajor // notice how it's XprTypeIsRowMajor here, not IsRowMajor. Inner size is computed wrt the host matrix's storage order. - ? int(ColsAtCompileTime) : int(RowsAtCompileTime), + InnerSize = IsRowMajor ? int(ColsAtCompileTime) : int(RowsAtCompileTime), InnerStrideAtCompileTime = HasSameStorageOrderAsXprType ? int(ei_inner_stride_at_compile_time::ret) : int(ei_outer_stride_at_compile_time::ret),