xref: /petsc/src/sys/classes/viewer/interface/ftn-custom/zviewaf.c (revision 665c2ded495bb9782a7454dcfef3abf1536c3670)
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