* introducte recursive Flags system for the expressions

-- currently 3 flags: RowMajor, Lazy and Large
 -- only RowMajor actually used for now
* many minor improvements
This commit is contained in:
Benoit Jacob
2008-03-30 18:43:22 +00:00
parent 758b26551a
commit f279162ec4
26 changed files with 153 additions and 115 deletions

View File

@@ -46,7 +46,8 @@ struct ei_traits<DiagonalMatrix<CoeffsVectorType> >
RowsAtCompileTime = CoeffsVectorType::SizeAtCompileTime,
ColsAtCompileTime = CoeffsVectorType::SizeAtCompileTime,
MaxRowsAtCompileTime = CoeffsVectorType::MaxSizeAtCompileTime,
MaxColsAtCompileTime = CoeffsVectorType::MaxSizeAtCompileTime
MaxColsAtCompileTime = CoeffsVectorType::MaxSizeAtCompileTime,
Flags = CoeffsVectorType::Flags
};
};
@@ -69,7 +70,7 @@ class DiagonalMatrix : ei_no_assignment_operator,
int _rows() const { return m_coeffs.size(); }
int _cols() const { return m_coeffs.size(); }
Scalar _coeff(int row, int col) const
const Scalar _coeff(int row, int col) const
{
return row == col ? m_coeffs.coeff(row) : static_cast<Scalar>(0);
}