Lines Matching refs:idxr
164 const PetscInt *idxr, *idxc, *it; in MatCreateSubMatrices_Htool() local
175 PetscCall(ISGetIndices(irow[i], &idxr)); in MatCreateSubMatrices_Htool()
184 it = std::lower_bound(idxr, idxr + nrow, A->rmap->rstart); in MatCreateSubMatrices_Htool()
185 if (it != idxr + nrow && *it == A->rmap->rstart) { /* rmap->rstart in IS? */ in MatCreateSubMatrices_Htool()
186 …if (std::distance(idxr, it) + A->rmap->n <= nrow) { /* long enough IS to store the local diagonal … in MatCreateSubMatrices_Htool()
195 … m = std::distance(idxr, it); /* shift of the coefficient (0,0) of block D from above */ in MatCreateSubMatrices_Htool()
201 … a->wrapper->copy_submatrix(nrow, m, idxr, idxc, ptr); /* vertical block B from above */ in MatCreateSubMatrices_Htool()
218 a->wrapper->copy_submatrix(m, 1, idxr, idxc + m + k, ptr + (m + k) * nrow); in MatCreateSubMatrices_Htool()
223 …a->wrapper->copy_submatrix(nrow, std::distance(it + A->rmap->n, idxr + nrow), idxr, idxc + m + A->… in MatCreateSubMatrices_Htool()
240 …a->wrapper->copy_submatrix(std::distance(it + A->rmap->n, idxr + nrow), 1, it + A->rmap->n, idxc +… in MatCreateSubMatrices_Htool()
250 if (!flg) a->wrapper->copy_submatrix(nrow, m, idxr, idxc, ptr); /* reassemble everything */ in MatCreateSubMatrices_Htool()
251 PetscCall(ISRestoreIndices(irow[i], &idxr)); in MatCreateSubMatrices_Htool()