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