Actual source code: zviewaf.c

  1: #include <petsc/private/fortranimpl.h>
  2: #include <petscviewer.h>

  4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  5:   #define petscviewersetformat_        PETSCVIEWERSETFORMAT
  6:   #define petscviewersettype_          PETSCVIEWERSETTYPE
  7:   #define petscviewergettype_          PETSCVIEWERGETTYPE
  8:   #define petscviewerpushformat_       PETSCVIEWERPUSHFORMAT
  9:   #define petscviewerpopformat_        PETSCVIEWERPOPFORMAT
 10:   #define petscviewerandformatcreate_  PETSCVIEWERANDFORMATCREATE
 11:   #define petscviewerandformatdestroy_ PETSCVIEWERANDFORMATDESTROY
 12:   #define petscviewergetsubviewer_     PETSCVIEWERGETSUBVIEWER
 13:   #define petscviewerrestoresubviewer_ PETSCVIEWERRESTORESUBVIEWER
 14:   #define petscviewierview_            PETSCVIEWERVIEW
 15:   #define petscviewerflush_            PETSCVIEWERFLUSH
 16: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 17:   #define petscviewersetformat_        petscviewersetformat
 18:   #define petscviewersettype_          petscviewersettype
 19:   #define petscviewergettype_          petscviewergettype
 20:   #define petscviewerpushformat_       petscviewerpushformat
 21:   #define petscviewerpopformat_        petscviewerpopformat
 22:   #define petscviewerandformatcreate_  petscviewerandformatcreate
 23:   #define petscviewerandformatdestroy_ petscviewerandformatdestroy
 24:   #define petscviewergetsubviewer_     petscviewergetsubviewer
 25:   #define petscviewerrestoresubviewer_ petscviewerrestoresubviewer
 26:   #define petscviewierview_            petscviewerview
 27:   #define petscviewerflush_            petscviewerflush
 28: #endif

 30: PETSC_EXTERN void petscviewerflush_(PetscViewer *viewer, int *ierr)
 31: {
 32:   PetscViewer v;
 33:   PetscPatchDefaultViewers_Fortran(viewer, v);
 34:   *ierr = PetscViewerFlush(v);
 35: }

 37: PETSC_EXTERN void petscviewergetsubviewer_(PetscViewer *vin, MPI_Fint *comm, PetscViewer *outviewer, PetscErrorCode *ierr)
 38: {
 39:   PetscViewer v;
 40:   PetscPatchDefaultViewers_Fortran(vin, v);
 41:   *ierr = PetscViewerGetSubViewer(v, MPI_Comm_f2c(*(comm)), outviewer);
 42: }

 44: PETSC_EXTERN void petscviewerrestoresubviewer_(PetscViewer *vin, MPI_Fint *comm, PetscViewer *outviewer, PetscErrorCode *ierr)
 45: {
 46:   PetscViewer v;
 47:   PetscPatchDefaultViewers_Fortran(vin, v);
 48:   *ierr = PetscViewerRestoreSubViewer(v, MPI_Comm_f2c(*(comm)), outviewer);
 49: }

 51: PETSC_EXTERN PetscErrorCode PetscViewerSetFormatDeprecated(PetscViewer, PetscViewerFormat);

 53: PETSC_EXTERN void petscviewerandformatcreate_(PetscViewer *vin, PetscViewerFormat *format, PetscViewerAndFormat **vf, PetscErrorCode *ierr)
 54: {
 55:   PetscViewer v;
 56:   PetscPatchDefaultViewers_Fortran(vin, v);
 57:   *ierr = PetscViewerAndFormatCreate(v, *format, vf);
 58: }

 60: PETSC_EXTERN void petscviewerandformatdestroy_(PetscViewerAndFormat **vf, PetscErrorCode *ierr)
 61: {
 62:   *ierr = PetscViewerAndFormatDestroy(vf);
 63: }

 65: PETSC_EXTERN void petscviewersetformat_(PetscViewer *vin, PetscViewerFormat *format, PetscErrorCode *ierr)
 66: {
 67:   PetscViewer v;
 68:   PetscPatchDefaultViewers_Fortran(vin, v);
 69:   *ierr = PetscViewerSetFormatDeprecated(v, *format);
 70: }

 72: PETSC_EXTERN void petscviewersettype_(PetscViewer *x, char *type_name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 73: {
 74:   char *t;

 76:   FIXCHAR(type_name, len, t);
 77:   *ierr = PetscViewerSetType(*x, t);
 78:   if (*ierr) return;
 79:   FREECHAR(type_name, t);
 80: }

 82: PETSC_EXTERN void petscviewergettype_(PetscViewer *viewer, char *type, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 83: {
 84:   const char *c1;

 86:   *ierr = PetscViewerGetType(*viewer, &c1);
 87:   *ierr = PetscStrncpy(type, c1, len);
 88:   FIXRETURNCHAR(PETSC_TRUE, type, len);
 89: }

 91: PETSC_EXTERN void petscviewerpushformat_(PetscViewer *vin, PetscViewerFormat *format, PetscErrorCode *ierr)
 92: {
 93:   PetscViewer v;
 94:   PetscPatchDefaultViewers_Fortran(vin, v);
 95:   *ierr = PetscViewerPushFormat(v, *format);
 96: }

 98: PETSC_EXTERN void petscviewerpopformat_(PetscViewer *vin, PetscErrorCode *ierr)
 99: {
100:   PetscViewer v;
101:   PetscPatchDefaultViewers_Fortran(vin, v);
102:   *ierr = PetscViewerPopFormat(v);
103: }

105: PETSC_EXTERN void petscviewerview_(PetscViewer *vin, PetscViewer *viewerin, PetscErrorCode *ierr)
106: {
107:   PetscViewer v, viewer;
108:   PetscPatchDefaultViewers_Fortran(vin, v);
109:   PetscPatchDefaultViewers_Fortran(viewerin, viewer);
110:   *ierr = PetscViewerView(v, viewer);
111: }