Lines Matching defs:outer
146 InnerIterator(const BlockSparseMatrixView& mat, Index outer)
147 : BlockSparseMatrixT::BlockInnerIterator(mat.m_spblockmat, outer)
417 // Browse each outer block and compute the structure
435 } // end current outer block
448 // Browse the outer block column by column (for column-major matrices)
475 } // end of this outer block
509 //Browse each outer block
530 // Save the pointer to the next outer block
643 * and the number of nonzero blocks per outer dimension
648 VectorXi nzblock_outer(m_outerBSize); // Number of nz blocks per outer vector
649 VectorXi nz_outer(m_outerBSize); // Number of nz per outer vector...for variable-size blocks
678 // Setup outer index pointers and markers
694 StorageIndex outer = IsColMajor ? it->col() : it->row();
696 m_indices[block_id(outer)] = inner;
698 StorageIndex nz_marker = blockPtr(block_id[outer]);
702 m_blockPtr[block_id(outer)+1] = m_blockPtr[block_id(outer)] + block_size;
704 block_id(outer)++;
707 // An alternative when the outer indices are sorted...no need to use an array of markers
778 /** \returns the block index where outer belongs to */
779 inline Index outerToBlock(Index outer) const
781 eigen_assert(outer < outerSize() && "OUTER INDEX OUT OF BOUNDS");
784 return (outer / m_blockSize); // Integer division
787 while(m_outerOffset[b_outer] <= outer) ++b_outer;
793 eigen_assert(inner < innerSize() && "OUTER INDEX OUT OF BOUNDS");
814 StorageIndex outer = IsColMajor ? bcol : brow;
815 StorageIndex offset = m_outerIndex[outer];
816 while(offset < m_outerIndex[outer+1] && m_indices[offset] != inner)
840 StorageIndex outer = IsColMajor ? bcol : brow;
841 StorageIndex offset = m_outerIndex[outer];
842 while(offset < m_outerIndex[outer+1] && m_indices[offset] != inner) offset++;
909 * \brief Browse the matrix by outer index
914 * \brief Browse the matrix by block outer index
961 StorageIndex *m_outerOffset; // Starting index of each outer block (size m_outerBSize+1)
980 BlockInnerIterator(const BlockSparseMatrix& mat, const Index outer)
981 : m_mat(mat),m_outer(outer),
982 m_id(mat.m_outerIndex[outer]),
983 m_end(mat.m_outerIndex[outer+1])
1001 inline Index outer() const { return m_outer; }
1005 inline Index col() const {return outer(); }
1023 InnerIterator(const BlockSparseMatrix& mat, Index outer)
1024 : m_mat(mat),m_outerB(mat.outerToBlock(outer)),m_outer(outer),
1025 itb(mat, mat.outerToBlock(outer)),
1026 m_offset(outer - mat.blockOuterIndex(m_outerB))
1059 inline Index outer() const {return m_outer; }
1060 inline Index col() const {return outer(); }