xref: /petsc/src/mat/impls/adj/mpi/ftn-custom/zmpiadjf.c (revision c6db04a5321582041def2b1e244c75985478b3ef)
1*c6db04a5SJed Brown #include <../src/mat/impls/adj/mpi/mpiadj.h>
2*c6db04a5SJed Brown #include <private/fortranimpl.h>
3*c6db04a5SJed Brown #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);
19a542b6e8SBarry 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