1c6db04a5SJed Brown #include <../src/mat/impls/adj/mpi/mpiadj.h> 2*af0996ceSBarry Smith #include <petsc/private/fortranimpl.h> 3c6db04a5SJed 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 138cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL matcreatempiadj_(MPI_Comm *comm,PetscInt *m,PetscInt *n,PetscInt *i,PetscInt *j,PetscInt *values,Mat *A,PetscErrorCode *ierr) 14f4e70085SSatish Balay { 15f4e70085SSatish Balay Mat_MPIAdj *adj; 16f4e70085SSatish Balay 17f4e70085SSatish Balay CHKFORTRANNULLINTEGER(values); 18a542b6e8SBarry Smith *ierr = MatCreateMPIAdj(MPI_Comm_f2c(*(MPI_Fint*)&*comm),*m,*n,i,j,values,A); 19f4e70085SSatish Balay adj = (Mat_MPIAdj*)(*A)->data; 20f4e70085SSatish Balay adj->freeaij = PETSC_FALSE; 21f4e70085SSatish Balay } 22f4e70085SSatish Balay 238cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL matmpiadjsetpreallocation_(Mat *mat,PetscInt *i,PetscInt *j,PetscInt *values, PetscErrorCode *ierr) 24f4e70085SSatish Balay { 25f4e70085SSatish Balay CHKFORTRANNULLINTEGER(values); 26f4e70085SSatish Balay *ierr = MatMPIAdjSetPreallocation(*mat,i,j,values); 27f4e70085SSatish Balay } 28f4e70085SSatish Balay 29