1b45d2f2cSJed Brown #include <petsc-private/fortranimpl.h> 2c6db04a5SJed Brown #include <petscdm.h> 39a42bb27SBarry Smith 49a42bb27SBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 524e7ded0SBarry Smith #define dmview_ DMVIEW 6e727c939SJed Brown #define dmcreatecoloring_ DMCREATECOLORING 7950540a4SJed Brown #define dmcreatematrix_ DMCREATEMATRIX 8*5b400853SJed Brown #define dmsetoptionsprefix_ DMSETOPTIONSPREFIX 99a42bb27SBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 1024e7ded0SBarry Smith #define dmview_ dmview 11e727c939SJed Brown #define dmcreatecoloring_ dmcreatecoloring 12950540a4SJed Brown #define dmcreatematrix_ dmcreatematrix 13*5b400853SJed Brown #define dmsetoptionsprefix_ dmsetoptionsprefix 149a42bb27SBarry Smith #endif 159a42bb27SBarry Smith 169a42bb27SBarry Smith EXTERN_C_BEGIN 17e727c939SJed Brown void PETSC_STDCALL dmcreatecoloring_(DM *dm,ISColoringType *ctype, CHAR mtype PETSC_MIXED_LEN(len),ISColoring *coloring, int *ierr PETSC_END_LEN(len)) 18d1e2c406SBarry Smith { 19d1e2c406SBarry Smith char *t; 20d1e2c406SBarry Smith 21d1e2c406SBarry Smith FIXCHAR(mtype,len,t); 22e727c939SJed Brown *ierr = DMCreateColoring(*dm,*ctype,t,coloring); 23d1e2c406SBarry Smith FREECHAR(mtype,t); 24d1e2c406SBarry Smith } 25d1e2c406SBarry Smith EXTERN_C_END 26d1e2c406SBarry Smith 27d1e2c406SBarry Smith EXTERN_C_BEGIN 2824e7ded0SBarry Smith void PETSC_STDCALL dmview_(DM *da,PetscViewer *vin,PetscErrorCode *ierr) 299a42bb27SBarry Smith { 309a42bb27SBarry Smith PetscViewer v; 319a42bb27SBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 329a42bb27SBarry Smith *ierr = DMView(*da,v); 339a42bb27SBarry Smith } 34564755cdSBarry Smith EXTERN_C_END 35950540a4SJed Brown 36950540a4SJed Brown EXTERN_C_BEGIN 37950540a4SJed Brown void PETSC_STDCALL dmcreatematrix_(DM *dm,CHAR mat_type PETSC_MIXED_LEN(len),Mat *J,PetscErrorCode *ierr PETSC_END_LEN(len)) 38950540a4SJed Brown { 39950540a4SJed Brown char *t; 40950540a4SJed Brown FIXCHAR(mat_type,len,t); 41950540a4SJed Brown *ierr = DMCreateMatrix(*dm,t,J); 42950540a4SJed Brown FREECHAR(mat_type,t); 43950540a4SJed Brown } 44950540a4SJed Brown EXTERN_C_END 45*5b400853SJed Brown 46*5b400853SJed Brown PETSC_EXTERN_C void PETSC_STDCALL dmsetoptionsprefix_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len)) 47*5b400853SJed Brown { 48*5b400853SJed Brown char *t; 49*5b400853SJed Brown 50*5b400853SJed Brown FIXCHAR(prefix,len,t); 51*5b400853SJed Brown *ierr = DMSetOptionsPrefix(*dm,t); 52*5b400853SJed Brown FREECHAR(prefix,t); 53*5b400853SJed Brown } 54