xref: /petsc/src/mat/impls/adj/mpi/ftn-custom/zmpiadjf.c (revision a542b6e80630e71e63160d591300bd42ba9ab54f)
1f4e70085SSatish Balay #include "src/mat/impls/adj/mpi/mpiadj.h"
2ce0a2cd1SBarry Smith #include "private/fortranimpl.h"
3f4e70085SSatish Balay #include "petscmat.h"
4f4e70085SSatish Balay 
5f4e70085SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS)
6f4e70085SSatish Balay #define matcreatempiadj_                 MATCREATEMPIADJ
7f4e70085SSatish Balay #define matmpiadjsetpreallocation_       MATMPIADJSETPREALLOCATION
8f4e70085SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
9f4e70085SSatish Balay #define matcreatempiadj_                 matcreatempiadj
10f4e70085SSatish Balay #define matmpiadjsetpreallocation_       matmpiadjsetpreallocation
11f4e70085SSatish Balay #endif
12f4e70085SSatish Balay 
13f4e70085SSatish Balay EXTERN_C_BEGIN
14f4e70085SSatish Balay void PETSC_STDCALL matcreatempiadj_(MPI_Comm *comm,PetscInt *m,PetscInt *n,PetscInt *i,PetscInt *j,PetscInt *values,Mat *A,PetscErrorCode *ierr)
15f4e70085SSatish Balay {
16f4e70085SSatish Balay   Mat_MPIAdj *adj;
17f4e70085SSatish Balay 
18f4e70085SSatish Balay   CHKFORTRANNULLINTEGER(values);
19*a542b6e8SBarry Smith   *ierr = MatCreateMPIAdj(MPI_Comm_f2c(*(MPI_Fint *)&*comm),*m,*n,i,j,values,A);
20f4e70085SSatish Balay   adj = (Mat_MPIAdj*)(*A)->data;
21f4e70085SSatish Balay   adj->freeaij = PETSC_FALSE;
22f4e70085SSatish Balay }
23f4e70085SSatish Balay 
24f4e70085SSatish Balay void PETSC_STDCALL matmpiadjsetpreallocation_(Mat *mat,PetscInt *i,PetscInt *j,PetscInt *values, PetscErrorCode *ierr)
25f4e70085SSatish Balay {
26f4e70085SSatish Balay   CHKFORTRANNULLINTEGER(values);
27f4e70085SSatish Balay   *ierr = MatMPIAdjSetPreallocation(*mat,i,j,values);
28f4e70085SSatish Balay }
29f4e70085SSatish Balay 
30f4e70085SSatish Balay 
31f4e70085SSatish Balay EXTERN_C_END
32