10 #ifndef EIGEN_COREITERATORS_H 11 #define EIGEN_COREITERATORS_H 30 typedef typename Derived::Index
Index;
34 EIGEN_STRONG_INLINE
InnerIterator(
const Derived& expr, Index outer)
35 : m_expression(expr), m_inner(0), m_outer(outer), m_end(expr.innerSize())
38 EIGEN_STRONG_INLINE Scalar
value()
const 40 return (
IsRowMajor) ? m_expression.coeff(m_outer, m_inner)
41 : m_expression.coeff(m_inner, m_outer);
44 EIGEN_STRONG_INLINE InnerIterator& operator++() { m_inner++;
return *
this; }
46 EIGEN_STRONG_INLINE Index index()
const {
return m_inner; }
47 inline Index
row()
const {
return IsRowMajor ? m_outer : index(); }
48 inline Index
col()
const {
return IsRowMajor ? index() : m_outer; }
50 EIGEN_STRONG_INLINE
operator bool()
const {
return m_inner < m_end && m_inner>=0; }
53 const Derived& m_expression;
61 #endif // EIGEN_COREITERATORS_H ColXpr col(Index i)
Definition: DenseBase.h:733
internal::traits< Derived >::Index Index
The type of indices.
Definition: DenseBase.h:60
iterative scaling algorithm to equilibrate rows and column norms in matrices
Definition: TestIMU_Common.h:87
RowXpr row(Index i)
Definition: DenseBase.h:750
const unsigned int RowMajorBit
for a matrix, this means that the storage order is row-major.
Definition: Constants.h:53
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:41
True if this expression has row-major storage order.
Definition: DenseBase.h:167
CoeffReturnType value() const
Definition: DenseBase.h:422
Definition: CoreIterators.h:26
double Scalar
Common scalar type.
Definition: FlexibleKalmanBase.h:48