Lines Matching refs:retval
8 static PetscBool spbas_cholesky_row_alloc(spbas_matrix retval, PetscInt k, PetscInt r_nnz, PetscInt… in spbas_cholesky_row_alloc() argument
10 retval.icols[k] = &retval.alloc_icol[*n_alloc_used]; in spbas_cholesky_row_alloc()
11 retval.values[k] = &retval.alloc_val[*n_alloc_used]; in spbas_cholesky_row_alloc()
13 return (*n_alloc_used > retval.n_alloc_icol) ? PETSC_FALSE : PETSC_TRUE; in spbas_cholesky_row_alloc()
247 spbas_matrix retval; in spbas_incomplete_cholesky() local
278 retval.nrows = nrows; in spbas_incomplete_cholesky()
279 retval.ncols = nrows; in spbas_incomplete_cholesky()
280 retval.nnz = pattern.nnz / 10; in spbas_incomplete_cholesky()
281 retval.col_idx_type = SPBAS_COLUMN_NUMBERS; in spbas_incomplete_cholesky()
282 retval.block_data = PETSC_TRUE; in spbas_incomplete_cholesky()
284 PetscCall(spbas_allocate_pattern(&retval, do_values)); in spbas_incomplete_cholesky()
285 PetscCall(PetscArrayzero(retval.row_nnz, nrows)); in spbas_incomplete_cholesky()
286 PetscCall(spbas_allocate_data(&retval)); in spbas_incomplete_cholesky()
287 retval.nnz = 0; in spbas_incomplete_cholesky()
306 r_nnz = retval.row_nnz[i]; in spbas_incomplete_cholesky()
307 r_icol = retval.icols[i]; in spbas_incomplete_cholesky()
308 r_val = retval.values[i]; in spbas_incomplete_cholesky()
337 PetscCall(spbas_delete(retval)); in spbas_incomplete_cholesky()
344 PetscBool success = spbas_cholesky_row_alloc(retval, i, 1, &n_alloc_used); in spbas_incomplete_cholesky()
346 r_icol = retval.icols[i]; in spbas_incomplete_cholesky()
347 r_val = retval.values[i]; in spbas_incomplete_cholesky()
354 retval.row_nnz[i]++; in spbas_incomplete_cholesky()
356 retval.nnz += r_nnz; in spbas_incomplete_cholesky()
362 r1_icol = retval.icols[k]; in spbas_incomplete_cholesky()
363 r1_val = retval.values[k]; in spbas_incomplete_cholesky()
364 for (jL = 0; jL < retval.row_nnz[k]; jL++) val[k] -= r1_val[jL] * lvec[r1_icol[jL]]; in spbas_incomplete_cholesky()
369 if (!retval.row_nnz[k]) { in spbas_incomplete_cholesky()
370 … PetscBool flag, success = spbas_cholesky_row_alloc(retval, k, max_row_nnz[k], &n_alloc_used); in spbas_incomplete_cholesky()
372 …PetscCall(spbas_cholesky_garbage_collect(&retval, i, &n_row_alloc_ok, &n_alloc_used, max_row_nnz)); in spbas_incomplete_cholesky()
373 flag = spbas_cholesky_row_alloc(retval, k, max_row_nnz[k], &n_alloc_used); in spbas_incomplete_cholesky()
375 r_icol = retval.icols[i]; in spbas_incomplete_cholesky()
379 retval.icols[k][retval.row_nnz[k]] = i; in spbas_incomplete_cholesky()
380 retval.values[k][retval.row_nnz[k]] = val[k]; in spbas_incomplete_cholesky()
381 retval.row_nnz[k]++; in spbas_incomplete_cholesky()
393 …PetscCall(spbas_cholesky_garbage_collect(&retval, nrows, &n_row_alloc_ok, &n_alloc_used, max_row_n… in spbas_incomplete_cholesky()
398 r_nnz = retval.row_nnz[i]; in spbas_incomplete_cholesky()
400 retval.values[i][r_nnz - 1] = 1.0 / diag[i]; in spbas_incomplete_cholesky()
401 for (j = 0; j < r_nnz - 1; j++) retval.values[i][j] *= -1; in spbas_incomplete_cholesky()
404 *matrix_L = retval; in spbas_incomplete_cholesky()