1 #include <petsc/private/fortranimpl.h> 2 #include <petscviewer.h> 3 4 #if defined(PETSC_HAVE_FORTRAN_CAPS) 5 #define petscviewersetformat_ PETSCVIEWERSETFORMAT 6 #define petscviewerpushformat_ PETSCVIEWERPUSHFORMAT 7 #define petscviewerpopformat_ PETSCVIEWERPOPFORMAT 8 #define petscviewerandformatcreate_ PETSCVIEWERANDFORMATCREATE 9 #define petscviewerandformatdestroy_ PETSCVIEWERANDFORMATDESTROY 10 #define petscviewergetsubviewer_ PETSCVIEWERGETSUBVIEWER 11 #define petscviewerrestoresubviewer_ PETSCVIEWERRESTORESUBVIEWER 12 #define petscviewierview_ PETSCVIEWERVIEW 13 #define petscviewerflush_ PETSCVIEWERFLUSH 14 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 15 #define petscviewersetformat_ petscviewersetformat 16 #define petscviewerpushformat_ petscviewerpushformat 17 #define petscviewerpopformat_ petscviewerpopformat 18 #define petscviewerandformatcreate_ petscviewerandformatcreate 19 #define petscviewerandformatdestroy_ petscviewerandformatdestroy 20 #define petscviewergetsubviewer_ petscviewergetsubviewer 21 #define petscviewerrestoresubviewer_ petscviewerrestoresubviewer 22 #define petscviewierview_ petscviewerview 23 #define petscviewerflush_ petscviewerflush 24 #endif 25 26 PETSC_EXTERN void petscviewerflush_(PetscViewer *viewer, int *ierr) 27 { 28 PetscViewer v; 29 PetscPatchDefaultViewers_Fortran(viewer, v); 30 *ierr = PetscViewerFlush(v); 31 } 32 33 PETSC_EXTERN void petscviewergetsubviewer_(PetscViewer *vin, MPI_Fint *comm, PetscViewer *outviewer, PetscErrorCode *ierr) 34 { 35 PetscViewer v; 36 PetscPatchDefaultViewers_Fortran(vin, v); 37 *ierr = PetscViewerGetSubViewer(v, MPI_Comm_f2c(*(comm)), outviewer); 38 } 39 40 PETSC_EXTERN void petscviewerrestoresubviewer_(PetscViewer *vin, MPI_Fint *comm, PetscViewer *outviewer, PetscErrorCode *ierr) 41 { 42 PetscViewer v; 43 PetscPatchDefaultViewers_Fortran(vin, v); 44 *ierr = PetscViewerRestoreSubViewer(v, MPI_Comm_f2c(*(comm)), outviewer); 45 } 46 47 PETSC_EXTERN PetscErrorCode PetscViewerSetFormatDeprecated(PetscViewer, PetscViewerFormat); 48 49 PETSC_EXTERN void petscviewerandformatcreate_(PetscViewer *vin, PetscViewerFormat *format, PetscViewerAndFormat **vf, PetscErrorCode *ierr) 50 { 51 PetscViewer v; 52 PetscPatchDefaultViewers_Fortran(vin, v); 53 *ierr = PetscViewerAndFormatCreate(v, *format, vf); 54 } 55 56 PETSC_EXTERN void petscviewerandformatdestroy_(PetscViewerAndFormat **vf, PetscErrorCode *ierr) 57 { 58 *ierr = PetscViewerAndFormatDestroy(vf); 59 } 60 61 PETSC_EXTERN void petscviewersetformat_(PetscViewer *vin, PetscViewerFormat *format, PetscErrorCode *ierr) 62 { 63 PetscViewer v; 64 PetscPatchDefaultViewers_Fortran(vin, v); 65 *ierr = PetscViewerSetFormatDeprecated(v, *format); 66 } 67 68 PETSC_EXTERN void petscviewerpushformat_(PetscViewer *vin, PetscViewerFormat *format, PetscErrorCode *ierr) 69 { 70 PetscViewer v; 71 PetscPatchDefaultViewers_Fortran(vin, v); 72 *ierr = PetscViewerPushFormat(v, *format); 73 } 74 75 PETSC_EXTERN void petscviewerpopformat_(PetscViewer *vin, PetscErrorCode *ierr) 76 { 77 PetscViewer v; 78 PetscPatchDefaultViewers_Fortran(vin, v); 79 *ierr = PetscViewerPopFormat(v); 80 } 81 82 PETSC_EXTERN void petscviewerview_(PetscViewer *vin, PetscViewer *viewerin, PetscErrorCode *ierr) 83 { 84 PetscViewer v, viewer; 85 PetscPatchDefaultViewers_Fortran(vin, v); 86 PetscPatchDefaultViewers_Fortran(viewerin, viewer); 87 *ierr = PetscViewerView(v, viewer); 88 } 89