MCPcopy Create free account
hub / github.com/PX4/eigen / StorageIndex index

Function StorageIndex index

Eigen/src/SparseCore/SparseBlock.h:503–520  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

501
502template<typename ArgType, int BlockRows, int BlockCols, bool InnerPanel>
503class unary_evaluator<Block<ArgType,BlockRows,BlockCols,InnerPanel>, IteratorBased>::InnerVectorInnerIterator
504 : public EvalIterator
505{
506 enum { IsRowMajor = unary_evaluator::IsRowMajor };
507 const XprType& m_block;
508 Index m_end;
509public:
510
511 EIGEN_STRONG_INLINE InnerVectorInnerIterator(const unary_evaluator& aEval, Index outer)
512 : EvalIterator(aEval.m_argImpl, outer + (IsRowMajor ? aEval.m_block.startRow() : aEval.m_block.startCol())),
513 m_block(aEval.m_block),
514 m_end(IsRowMajor ? aEval.m_block.startCol()+aEval.m_block.blockCols() : aEval.m_block.startRow()+aEval.m_block.blockRows())
515 {
516 while( (EvalIterator::operator bool()) && (EvalIterator::index() < (IsRowMajor ? m_block.startCol() : m_block.startRow())) )
517 EvalIterator::operator++();
518 }
519
520 inline StorageIndex index() const { return EvalIterator::index() - convert_index<StorageIndex>(IsRowMajor ? m_block.startCol() : m_block.startRow()); }
521 inline Index outer() const { return EvalIterator::outer() - (IsRowMajor ? m_block.startRow() : m_block.startCol()); }
522 inline Index row() const { return EvalIterator::row() - m_block.startRow(); }
523 inline Index col() const { return EvalIterator::col() - m_block.startCol(); }

Callers

nothing calls this directly

Calls 2

startColMethod · 0.45
startRowMethod · 0.45

Tested by

no test coverage detected