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