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