1 #include <petsc-private/fortranimpl.h> 2 #include <petscdm.h> 3 #include <petscviewer.h> 4 5 #if defined(PETSC_HAVE_FORTRAN_CAPS) 6 #define dmview_ DMVIEW 7 #define dmsetoptionsprefix_ DMSETOPTIONSPREFIX 8 #define dmsetmattype_ DMSETMATTYPE 9 #define dmsetvectype_ DMSETVECTYPE 10 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 11 #define dmview_ dmview 12 #define dmsetoptionsprefix_ dmsetoptionsprefix 13 #define dmsetmattype_ dmsetmattype 14 #define dmsetvectype_ dmsetvectype 15 #endif 16 17 PETSC_EXTERN void PETSC_STDCALL dmview_(DM *da,PetscViewer *vin,PetscErrorCode *ierr) 18 { 19 PetscViewer v; 20 PetscPatchDefaultViewers_Fortran(vin,v); 21 *ierr = DMView(*da,v); 22 } 23 24 PETSC_EXTERN void PETSC_STDCALL dmsetoptionsprefix_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len)) 25 { 26 char *t; 27 28 FIXCHAR(prefix,len,t); 29 *ierr = DMSetOptionsPrefix(*dm,t); 30 FREECHAR(prefix,t); 31 } 32 33 PETSC_EXTERN void PETSC_STDCALL dmsetmattype_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len)) 34 { 35 char *t; 36 37 FIXCHAR(prefix,len,t); 38 *ierr = DMSetMatType(*dm,t); 39 FREECHAR(prefix,t); 40 } 41 42 43 PETSC_EXTERN void PETSC_STDCALL dmsetvectype_(DM *dm,CHAR prefix PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len)) 44 { 45 char *t; 46 47 FIXCHAR(prefix,len,t); 48 *ierr = DMSetVecType(*dm,t); 49 FREECHAR(prefix,t); 50 } 51