Lines Matching refs:a
127 Mat_SeqSELL *a = (Mat_SeqSELL *)A->data; \
130 else high = a->rlen[row]; \
134 if (*(cp + a->sliceheight * t) > col) high = t; \
138 if (*(cp + a->sliceheight * _i) > col) break; \
139 if (*(cp + a->sliceheight * _i) == col) { \
140 if (addv == ADD_VALUES) *(vp + a->sliceheight * _i) += value; \
141 else *(vp + a->sliceheight * _i) = value; \
147 …PetscCheck(a->nonew != -1, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Inserting a new nonzero at …
148 …(a->nonew != 1 && !(value == 0.0 && a->ignorezeroentries) && a->rlen[row] >= (a->sliidx[row / a->s…
150 if (a->maxallocmat < a->sliidx[a->totalslices] + a->sliceheight) { \
152 PetscInt new_size = a->maxallocmat + a->sliceheight, *new_colidx; \
154 …PetscCheck(a->nonew != -2, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "New nonzero at (%" PetscInt…
158 PetscCall(PetscArraycpy(new_val, a->val, a->sliidx[row / a->sliceheight + 1])); \
159 PetscCall(PetscArraycpy(new_colidx, a->colidx, a->sliidx[row / a->sliceheight + 1])); \
160 …a->sliidx[row / a->sliceheight + 1] + a->sliceheight, PetscSafePointerPlusOffset(a->val, a->sliidx…
161 …a->sliidx[row / a->sliceheight + 1] + a->sliceheight, PetscSafePointerPlusOffset(a->colidx, a->sli…
163 cp = new_colidx + a->sliidx[row / a->sliceheight] + (row % a->sliceheight); \
164 vp = new_val + a->sliidx[row / a->sliceheight] + (row % a->sliceheight); \
166 PetscCall(MatSeqXSELLFreeSELL(A, &a->val, &a->colidx)); \
167 a->val = new_val; \
168 a->colidx = new_colidx; \
169 a->singlemalloc = PETSC_TRUE; \
170 a->maxallocmat = new_size; \
171 a->reallocs++; \
174 …a->val + a->sliidx[row / a->sliceheight + 1] + a->sliceheight, a->val + a->sliidx[row / a->slicehe…
175 …a->colidx + a->sliidx[row / a->sliceheight + 1] + a->sliceheight, a->colidx + a->sliidx[row / a->s…
178 … for (ii = row / a->sliceheight + 1; ii <= a->totalslices; ii++) a->sliidx[ii] += a->sliceheight; \
179 if (a->rlen[row] >= a->maxallocrow) a->maxallocrow++; \
180 if (a->rlen[row] >= a->rlenmax) a->rlenmax++; \
183 for (ii = a->rlen[row] - 1; ii >= _i; ii--) { \
184 *(cp + a->sliceheight * (ii + 1)) = *(cp + a->sliceheight * ii); \
185 *(vp + a->sliceheight * (ii + 1)) = *(vp + a->sliceheight * ii); \
187 *(cp + a->sliceheight * _i) = col; \
188 *(vp + a->sliceheight * _i) = value; \
189 a->nz++; \
190 a->rlen[row]++; \