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