Lines Matching refs:matrix_A
377 PetscErrorCode spbas_matrix_to_crs(spbas_matrix matrix_A, MatScalar **val_out, PetscInt **irow_out,… in spbas_matrix_to_crs() argument
379 PetscInt nrows = matrix_A.nrows; in spbas_matrix_to_crs()
380 PetscInt nnz = matrix_A.nnz; in spbas_matrix_to_crs()
387 PetscInt col_idx_type = matrix_A.col_idx_type; in spbas_matrix_to_crs()
388 PetscBool do_values = matrix_A.values ? PETSC_TRUE : PETSC_FALSE; in spbas_matrix_to_crs()
404 r_nnz = matrix_A.row_nnz[i]; in spbas_matrix_to_crs()
407 icol_A = matrix_A.icols[i]; in spbas_matrix_to_crs()
410 val_A = matrix_A.values[i]; in spbas_matrix_to_crs()
422 i0 = matrix_A.icol0[i]; in spbas_matrix_to_crs()
630 static PetscErrorCode spbas_apply_reordering_rows(spbas_matrix *matrix_A, const PetscInt *permutati… in spbas_apply_reordering_rows() argument
633 PetscInt nrows = matrix_A->nrows; in spbas_apply_reordering_rows()
636 PetscBool do_values = matrix_A->values ? PETSC_TRUE : PETSC_FALSE; in spbas_apply_reordering_rows()
640 …PetscCheck(matrix_A->col_idx_type == SPBAS_DIAGONAL_OFFSETS, PETSC_COMM_SELF, PETSC_ERR_SUP_SYS, "… in spbas_apply_reordering_rows()
648 if (do_values) vals[i] = matrix_A->values[ip]; in spbas_apply_reordering_rows()
649 icols[i] = matrix_A->icols[ip]; in spbas_apply_reordering_rows()
650 row_nnz[i] = matrix_A->row_nnz[ip]; in spbas_apply_reordering_rows()
654 if (do_values) PetscCall(PetscFree(matrix_A->values)); in spbas_apply_reordering_rows()
655 PetscCall(PetscFree(matrix_A->icols)); in spbas_apply_reordering_rows()
656 PetscCall(PetscFree(matrix_A->row_nnz)); in spbas_apply_reordering_rows()
658 if (do_values) matrix_A->values = vals; in spbas_apply_reordering_rows()
659 matrix_A->icols = icols; in spbas_apply_reordering_rows()
660 matrix_A->row_nnz = row_nnz; in spbas_apply_reordering_rows()
668 static PetscErrorCode spbas_apply_reordering_cols(spbas_matrix *matrix_A, const PetscInt *permutati… in spbas_apply_reordering_cols() argument
671 PetscInt nrows = matrix_A->nrows; in spbas_apply_reordering_cols()
674 PetscBool do_values = matrix_A->values ? PETSC_TRUE : PETSC_FALSE; in spbas_apply_reordering_cols()
678 …PetscCheck(matrix_A->col_idx_type == SPBAS_DIAGONAL_OFFSETS, PETSC_COMM_SELF, PETSC_ERR_SUP_SYS, "… in spbas_apply_reordering_cols()
681 icols = matrix_A->icols[i]; in spbas_apply_reordering_cols()
682 row_nnz = matrix_A->row_nnz[i]; in spbas_apply_reordering_cols()
683 if (do_values) vals = matrix_A->values[i]; in spbas_apply_reordering_cols()
695 PetscErrorCode spbas_apply_reordering(spbas_matrix *matrix_A, const PetscInt *permutation, const Pe… in spbas_apply_reordering() argument
698 PetscCall(spbas_apply_reordering_rows(matrix_A, inv_perm)); in spbas_apply_reordering()
699 PetscCall(spbas_apply_reordering_cols(matrix_A, permutation)); in spbas_apply_reordering()