Lines Matching refs:rowlengths
10 … a->i, *aj = a->j, m = A->rmap->N, n = A->cmap->n, i, j, k, *bi, *bj, *rowlengths, nz, *rowstart, … in MatConvert_SeqSBAIJ_SeqAIJ() local
17 PetscCall(PetscMalloc2(m, &rowlengths, m + 1, &rowstart)); in MatConvert_SeqSBAIJ_SeqAIJ()
19 for (i = 0; i < mbs; i++) rowlengths[i * bs] = 0; in MatConvert_SeqSBAIJ_SeqAIJ()
24 rowlengths[k] += nz; /* no. of upper triangular blocks */ in MatConvert_SeqSBAIJ_SeqAIJ()
31 rowlengths[(*aj) * bs]++; in MatConvert_SeqSBAIJ_SeqAIJ()
35 rowlengths[k] *= bs; in MatConvert_SeqSBAIJ_SeqAIJ()
36 for (j = 1; j < bs; j++) rowlengths[k + j] = rowlengths[k]; in MatConvert_SeqSBAIJ_SeqAIJ()
44 PetscCall(MatSeqAIJSetPreallocation(B, 0, rowlengths)); in MatConvert_SeqSBAIJ_SeqAIJ()
58 b->ilen[i * bs + j] = rowlengths[i * bs]; in MatConvert_SeqSBAIJ_SeqAIJ()
59 rowstart[i * bs + j + 1] = rowstart[i * bs + j] + rowlengths[i * bs]; in MatConvert_SeqSBAIJ_SeqAIJ()
61 bi[i + 1] = bi[i] + rowlengths[i * bs] / bs; in MatConvert_SeqSBAIJ_SeqAIJ()
108 PetscCall(PetscFree2(rowlengths, rowstart)); in MatConvert_SeqSBAIJ_SeqAIJ()
168 …PetscInt *ai = a->i, *aj, m = A->rmap->N, n = A->cmap->N, i, j, *bi, *bj, *rowlengths, bs = … in MatConvert_SeqAIJ_SeqSBAIJ() local
182 PetscCall(PetscMalloc1(m, &rowlengths)); in MatConvert_SeqAIJ_SeqSBAIJ()
185 rowlengths[i] = (ai[i + 1] - ai[i]) + 1; /* allocate some extra space */ in MatConvert_SeqAIJ_SeqSBAIJ()
188 rowlengths[i] = (ai[i + 1] - adiag[i]); in MatConvert_SeqAIJ_SeqSBAIJ()
191 } else PetscCall(MatConvert_SeqAIJ_SeqSBAIJ_Preallocate(A, &rowlengths)); in MatConvert_SeqAIJ_SeqSBAIJ()
196 PetscCall(MatSeqSBAIJSetPreallocation(B, bs, 0, rowlengths)); in MatConvert_SeqAIJ_SeqSBAIJ()
209 for (j = 0; j < rowlengths[i]; j++) { in MatConvert_SeqAIJ_SeqSBAIJ()
217 bi[i + 1] = bi[i] + rowlengths[i]; in MatConvert_SeqAIJ_SeqSBAIJ()
218 b->ilen[i] = rowlengths[i]; in MatConvert_SeqAIJ_SeqSBAIJ()
229 PetscCall(PetscFree(rowlengths)); in MatConvert_SeqAIJ_SeqSBAIJ()