1 #include <petsc-private/fortranimpl.h> 2 #include <petscdm.h> 3 4 #if defined(PETSC_HAVE_FORTRAN_CAPS) 5 #define dmview_ DMVIEW 6 #define dmcreatecoloring_ DMCREATECOLORING 7 #define dmcreatematrix_ DMCREATEMATRIX 8 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 9 #define dmview_ dmview 10 #define dmcreatecoloring_ dmcreatecoloring 11 #define dmcreatematrix_ dmcreatematrix 12 #endif 13 14 EXTERN_C_BEGIN 15 void PETSC_STDCALL dmcreatecoloring_(DM *dm,ISColoringType *ctype, CHAR mtype PETSC_MIXED_LEN(len),ISColoring *coloring, int *ierr PETSC_END_LEN(len)) 16 { 17 char *t; 18 19 FIXCHAR(mtype,len,t); 20 *ierr = DMCreateColoring(*dm,*ctype,t,coloring); 21 FREECHAR(mtype,t); 22 } 23 EXTERN_C_END 24 25 EXTERN_C_BEGIN 26 void PETSC_STDCALL dmview_(DM *da,PetscViewer *vin,PetscErrorCode *ierr) 27 { 28 PetscViewer v; 29 PetscPatchDefaultViewers_Fortran(vin,v); 30 *ierr = DMView(*da,v); 31 } 32 EXTERN_C_END 33 34 EXTERN_C_BEGIN 35 void PETSC_STDCALL dmcreatematrix_(DM *dm,CHAR mat_type PETSC_MIXED_LEN(len),Mat *J,PetscErrorCode *ierr PETSC_END_LEN(len)) 36 { 37 char *t; 38 FIXCHAR(mat_type,len,t); 39 *ierr = DMCreateMatrix(*dm,t,J); 40 FREECHAR(mat_type,t); 41 } 42 EXTERN_C_END 43