1 #include <petsc-private/fortranimpl.h> 2 3 #if defined(PETSC_HAVE_FORTRAN_CAPS) 4 #define petscviewersetformat_ PETSCVIEWERSETFORMAT 5 #define petscviewersettype_ PETSCVIEWERSETTYPE 6 #define petscviewerpushformat_ PETSCVIEWERPUSHFORMAT 7 #define petscviewerpopformat_ PETSCVIEWERPOPFORMAT 8 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 9 #define petscviewersetformat_ petscviewersetformat 10 #define petscviewersettype_ petscviewersettype 11 #define petscviewerpushformat_ petscviewerpushformat 12 #define petscviewerpopformat_ petscviewerpopformat 13 #endif 14 15 EXTERN_C_BEGIN 16 17 void PETSC_STDCALL petscviewersettype_(PetscViewer *x,CHAR type_name PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len)) 18 { 19 char *t; 20 21 FIXCHAR(type_name,len,t); 22 *ierr = PetscViewerSetType(*x,t); 23 FREECHAR(type_name,t); 24 } 25 26 void PETSC_STDCALL petscviewersetformat_(PetscViewer *vin,PetscViewerFormat *format,PetscErrorCode *ierr) 27 { 28 PetscViewer v; 29 PetscPatchDefaultViewers_Fortran(vin,v); 30 *ierr = PetscViewerSetFormat(v,*format); 31 } 32 33 void PETSC_STDCALL petscviewerpushformat_(PetscViewer *vin,PetscViewerFormat *format,PetscErrorCode *ierr) 34 { 35 PetscViewer v; 36 PetscPatchDefaultViewers_Fortran(vin,v); 37 *ierr = PetscViewerPushFormat(v,*format); 38 } 39 40 void PETSC_STDCALL petscviewerpopformat_(PetscViewer *vin,PetscErrorCode *ierr) 41 { 42 PetscViewer v; 43 PetscPatchDefaultViewers_Fortran(vin,v); 44 *ierr = PetscViewerPopFormat(v); 45 } 46 47 EXTERN_C_END 48