Actual source code: zmat.c
1: #include <petsc/private/fortranimpl.h>
2: #include <petscmat.h>
4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
5: #define matsetvalue_ MATSETVALUE
6: #define matsetvaluelocal_ MATSETVALUELOCAL
7: #define matdiagonalscale_ MATDIAGONALSCALE
8: #define matsetpreallocationcoo32_ MATSETPREALLOCATIONCOO32
9: #define matsetpreallocationcoolocal32_ MATSETPREALLOCATIONCOOLOCAL32
10: #define matsetpreallocationcoo64_ MATSETPREALLOCATIONCOO64
11: #define matsetpreallocationcoolocal64_ MATSETPREALLOCATIONCOOLOCAL64
12: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
13: #define matsetvalue_ matsetvalue
14: #define matsetvaluelocal_ matsetvaluelocal
15: #define matdiagonalscale_ matdiagonalscale
16: #define matsetpreallocationcoo32_ matsetpreallocationcoo32
17: #define matsetpreallocationcoolocal32_ matsetpreallocationcoolocal32
18: #define matsetpreallocationcoo64 matsetpreallocationcoo64
19: #define matsetpreallocationcoolocal64_ matsetpreallocationcoolocal64
20: #endif
22: PETSC_EXTERN void matsetvalue_(Mat *mat, PetscInt *i, PetscInt *j, PetscScalar *va, InsertMode *mode, PetscErrorCode *ierr)
23: {
24: /* cannot use MatSetValue() here since that uses PetscCall() which has a return in it */
25: *ierr = MatSetValues(*mat, 1, i, 1, j, va, *mode);
26: }
28: PETSC_EXTERN void matsetvaluelocal_(Mat *mat, PetscInt *i, PetscInt *j, PetscScalar *va, InsertMode *mode, PetscErrorCode *ierr)
29: {
30: /* cannot use MatSetValueLocal() here since that uses PetscCall() which has a return in it */
31: *ierr = MatSetValuesLocal(*mat, 1, i, 1, j, va, *mode);
32: }
34: PETSC_EXTERN void matsetpreallocationcoo32_(Mat *A, int *ncoo, PetscInt coo_i[], PetscInt coo_j[], int *ierr)
35: {
36: *ierr = MatSetPreallocationCOO(*A, *ncoo, coo_i, coo_j);
37: }
39: PETSC_EXTERN void matsetpreallocationcoo64_(Mat *A, PetscInt64 *ncoo, PetscInt coo_i[], PetscInt coo_j[], int *ierr)
40: {
41: *ierr = MatSetPreallocationCOO(*A, *ncoo, coo_i, coo_j);
42: }
44: PETSC_EXTERN void matsetpreallocationcoolocal32_(Mat *A, int *ncoo, PetscInt coo_i[], PetscInt coo_j[], int *ierr)
45: {
46: *ierr = MatSetPreallocationCOOLocal(*A, *ncoo, coo_i, coo_j);
47: }
49: PETSC_EXTERN void matsetpreallocationcoolocal64_(Mat *A, PetscInt64 *ncoo, PetscInt coo_i[], PetscInt coo_j[], int *ierr)
50: {
51: *ierr = MatSetPreallocationCOOLocal(*A, *ncoo, coo_i, coo_j);
52: }