Actual source code: zmpiadjf.c
1: #include <../src/mat/impls/adj/mpi/mpiadj.h>
2: #include <petsc/private/fortranimpl.h>
3: #include <petscmat.h>
5: #if defined(PETSC_HAVE_FORTRAN_CAPS)
6: #define matcreatempiadj_ MATCREATEMPIADJ
7: #define matmpiadjsetpreallocation_ MATMPIADJSETPREALLOCATION
8: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
9: #define matcreatempiadj_ matcreatempiadj
10: #define matmpiadjsetpreallocation_ matmpiadjsetpreallocation
11: #endif
13: PETSC_EXTERN void matcreatempiadj_(MPI_Comm *comm, PetscInt *m, PetscInt *n, PetscInt *i, PetscInt *j, PetscInt *values, Mat *A, PetscErrorCode *ierr)
14: {
15: Mat_MPIAdj *adj;
17: CHKFORTRANNULLINTEGER(values);
18: *ierr = MatCreateMPIAdj(MPI_Comm_f2c(*(MPI_Fint *)&*comm), *m, *n, i, j, values, A);
19: adj = (Mat_MPIAdj *)(*A)->data;
20: adj->freeaij = PETSC_FALSE;
21: }
23: PETSC_EXTERN void matmpiadjsetpreallocation_(Mat *mat, PetscInt *i, PetscInt *j, PetscInt *values, PetscErrorCode *ierr)
24: {
25: CHKFORTRANNULLINTEGER(values);
26: *ierr = MatMPIAdjSetPreallocation(*mat, i, j, values);
27: }