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: }