145c38901SJed Brown #include <petsc-private/fortranimpl.h> 245c38901SJed Brown #include <petscmat.h> 345c38901SJed Brown 445c38901SJed Brown #if defined(PETSC_HAVE_FORTRAN_CAPS) 545c38901SJed Brown #define matcreatenest_ MATCREATENEST 6*3a4d7b9aSSatish Balay #define matnestgetiss_ MATNESTGETISS 745c38901SJed Brown #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 845c38901SJed Brown #define matcreatenest_ matcreatenest 9*3a4d7b9aSSatish Balay #define matnestgetiss_ matnestgetiss 1045c38901SJed Brown #endif 1145c38901SJed Brown 128cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL matcreatenest_(MPI_Fint *comm,PetscInt *nr,IS is_row[],PetscInt *nc,IS is_col[],Mat a[],Mat *B,int *ierr) 1345c38901SJed Brown { 1445c38901SJed Brown CHKFORTRANNULLOBJECT(is_row); 1545c38901SJed Brown CHKFORTRANNULLOBJECT(is_col); 1645c38901SJed Brown *ierr = MatCreateNest(MPI_Comm_f2c(*comm),*nr,is_row,*nc,is_col,a,B); 1745c38901SJed Brown } 18*3a4d7b9aSSatish Balay 19*3a4d7b9aSSatish Balay PETSC_EXTERN void PETSC_STDCALL matnestgetiss_(Mat *A,IS rows[],IS cols[], int *ierr ) 20*3a4d7b9aSSatish Balay { 21*3a4d7b9aSSatish Balay CHKFORTRANNULLOBJECT(rows); 22*3a4d7b9aSSatish Balay CHKFORTRANNULLOBJECT(cols); 23*3a4d7b9aSSatish Balay *ierr = MatNestGetISs(*A,rows,cols); 24*3a4d7b9aSSatish Balay } 25