Lines Matching refs:result

60 static PetscErrorCode spbas_allocate_pattern(spbas_matrix *result, PetscBool do_values)  in spbas_allocate_pattern()  argument
62 PetscInt nrows = result->nrows; in spbas_allocate_pattern()
63 PetscInt col_idx_type = result->col_idx_type; in spbas_allocate_pattern()
67 PetscCall(PetscMalloc1(nrows, &result->row_nnz)); in spbas_allocate_pattern()
68 PetscCall(PetscMalloc1(nrows, &result->icols)); in spbas_allocate_pattern()
72 PetscCall(PetscMalloc1(nrows, &result->icol0)); in spbas_allocate_pattern()
74 result->icol0 = NULL; in spbas_allocate_pattern()
79 PetscCall(PetscMalloc1(nrows, &result->values)); in spbas_allocate_pattern()
81 result->values = NULL; in spbas_allocate_pattern()
94 static PetscErrorCode spbas_allocate_data(spbas_matrix *result) in spbas_allocate_data() argument
97 PetscInt nnz = result->nnz; in spbas_allocate_data()
98 PetscInt nrows = result->nrows; in spbas_allocate_data()
100 PetscBool do_values = (result->values) ? PETSC_TRUE : PETSC_FALSE; in spbas_allocate_data()
101 PetscBool block_data = result->block_data; in spbas_allocate_data()
106 result->n_alloc_icol = nnz; in spbas_allocate_data()
108 PetscCall(PetscMalloc1(nnz, &result->alloc_icol)); in spbas_allocate_data()
110 result->icols[0] = result->alloc_icol; in spbas_allocate_data()
111 for (i = 1; i < nrows; i++) result->icols[i] = result->icols[i - 1] + result->row_nnz[i - 1]; in spbas_allocate_data()
115 result->n_alloc_val = nnz; in spbas_allocate_data()
117 PetscCall(PetscMalloc1(nnz, &result->alloc_val)); in spbas_allocate_data()
119 result->values[0] = result->alloc_val; in spbas_allocate_data()
120 … for (i = 1; i < nrows; i++) result->values[i] = result->values[i - 1] + result->row_nnz[i - 1]; in spbas_allocate_data()
124 r_nnz = result->row_nnz[i]; in spbas_allocate_data()
125 PetscCall(PetscMalloc1(r_nnz, &result->icols[i])); in spbas_allocate_data()
129 r_nnz = result->row_nnz[i]; in spbas_allocate_data()
130 PetscCall(PetscMalloc1(r_nnz, &result->values[i])); in spbas_allocate_data()
433 PetscErrorCode spbas_transpose(spbas_matrix in_matrix, spbas_matrix *result) in spbas_transpose() argument
447 result->nrows = nrows; in spbas_transpose()
448 result->ncols = ncols; in spbas_transpose()
449 result->nnz = nnz; in spbas_transpose()
450 result->col_idx_type = SPBAS_COLUMN_NUMBERS; in spbas_transpose()
451 result->block_data = PETSC_TRUE; in spbas_transpose()
454 PetscCall(spbas_allocate_pattern(result, in_matrix.values ? PETSC_TRUE : PETSC_FALSE)); in spbas_transpose()
457 for (i = 0; i < nrows; i++) result->row_nnz[i] = 0; in spbas_transpose()
463 for (j = 0; j < r_nnz; j++) result->row_nnz[irow[j]]++; in spbas_transpose()
465 for (j = 0; j < r_nnz; j++) result->row_nnz[i + irow[j]]++; in spbas_transpose()
468 for (j = 0; j < r_nnz; j++) result->row_nnz[icol0 + irow[j]]++; in spbas_transpose()
473 PetscCall(spbas_allocate_data(result)); in spbas_transpose()
476 for (i = 0; i < nrows; i++) result->row_nnz[i] = 0; in spbas_transpose()
490 result->icols[k][result->row_nnz[k]] = i; in spbas_transpose()
491 result->values[k][result->row_nnz[k]] = val[j]; in spbas_transpose()
492 result->row_nnz[k]++; in spbas_transpose()
506 result->icols[k][result->row_nnz[k]] = i; in spbas_transpose()
507 result->row_nnz[k]++; in spbas_transpose()
703 …pbas_pattern_only(PetscInt nrows, PetscInt ncols, PetscInt *ai, PetscInt *aj, spbas_matrix *result) in spbas_pattern_only() argument
728 *result = retval; in spbas_pattern_only()
775 PetscErrorCode spbas_power(spbas_matrix in_matrix, PetscInt power, spbas_matrix *result) in spbas_power() argument
837 *result = retval; in spbas_power()