Lines Matching refs:bj
415 for(StorageIndex bj = 0; bj < m_outerBSize; ++bj)
419 blockPattern.startVec(bj);
420 for(StorageIndex j = blockOuterIndex(bj); j < blockOuterIndex(bj+1); ++j)
430 blockPattern.insertBackByOuterInnerUnordered(bj, bi) = true;
432 m_nonzeros += blockOuterSize(bj) * blockInnerSize(bi);
443 for(StorageIndex bj = 0; bj < m_outerBSize; ++bj)
446 for(StorageIndex j = blockOuterIndex(bj); j < blockOuterIndex(bj+1); ++j)
455 while(bi > m_indices[m_outerIndex[bj]+idx]) ++idx; // Not expensive for ordered blocks
460 idxVal = m_blockPtr[m_outerIndex[bj]+idx];
462 … idxVal += (j - blockOuterIndex(bj)) * blockOuterSize(bj) + it_spmat.index() - m_innerOffset[bi];
467 idxVal = (m_outerIndex[bj] + idx) * m_blockSize * m_blockSize;
469 idxVal += (j - blockOuterIndex(bj)) * m_blockSize + (it_spmat.index()%m_blockSize);
507 for(StorageIndex bj = 0; bj < m_outerBSize; ++bj)
514 typename MatrixType::InnerIterator it(blockPattern, bj);
524 StorageIndex offset = m_outerIndex[bj]+idx; // offset in m_indices
527 … m_blockPtr[offset] = m_blockPtr[offset-1] + blockInnerSize(nzBlockIdx[idx]) * blockOuterSize(bj);
531 m_outerIndex[bj+1] = m_outerIndex[bj] + nzBlockIdx.size();
580 for(StorageIndex bj = 0; bj < m_outerBSize; ++bj)
582 m_nonzeros += outerBlocks[bj] * innerBlocks[bi];
681 for(StorageIndex bj = 0; bj < m_outerBSize; ++bj)
683 m_outerIndex[bj+1] = m_outerIndex[bj] + nzblock_outer(bj);
684 block_id(bj) = m_outerIndex[bj];
687 m_blockPtr[m_outerIndex[bj+1]] = m_blockPtr[m_outerIndex[bj]] + nz_outer(bj);
884 inline Index blockColsIndex(Index bj) const
886 return IsColMajor ? blockOuterIndex(bj) : blockInnerIndex(bj);
889 inline Index blockOuterIndex(Index bj) const
891 return (m_blockSize == Dynamic) ? m_outerOffset[bj] : (bj * m_blockSize);
903 inline Index blockOuterSize(Index bj) const
905 return (m_blockSize == Dynamic) ? (m_outerOffset[bj+1]- m_outerOffset[bj]) : m_blockSize;