Actual source code: zbinvf90.c

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

  4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  5:   #define petscviewerbinarywriteint_    PETSCVIEWERBINARYWRITEINT
  6:   #define petscviewerbinarywritescalar_ PETSCVIEWERBINARYWRITESCALAR
  7:   #define petscviewerbinarywritereal_   PETSCVIEWERBINARYWRITEREAL
  8:   #define petscviewerbinaryreadint_     PETSCVIEWERBINARYREADINT
  9:   #define petscviewerbinaryreadscalar_  PETSCVIEWERBINARYREADSCALAR
 10:   #define petscviewerbinaryreadreal_    PETSCVIEWERBINARYREADREAL
 11: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 12:   #define petscviewerbinarywriteint_    petscviewerbinarywriteint
 13:   #define petscviewerbinarywritescalar_ petscviewerbinarywritescalar
 14:   #define petscviewerbinarywritereal_   petscviewerbinarywritereal
 15:   #define petscviewerbinaryreadint_     petscviewerbinaryreadint
 16:   #define petscviewerbinaryreadscalar_  petscviewerbinaryreadscalar
 17:   #define petscviewerbinaryreadreal_    petscviewerbinaryreadreal
 18: #endif

 20: PETSC_EXTERN void petscviewerbinarywriteint_(PetscViewer *viewer, PetscInt *a, PetscInt *len, PetscErrorCode *ierr)
 21: {
 22:   PetscViewer v;
 23:   PetscPatchDefaultViewers_Fortran(viewer, v);
 24:   *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_INT);
 25: }

 27: PETSC_EXTERN void petscviewerbinarywritescalar_(PetscViewer *viewer, PetscScalar *a, PetscInt *len, PetscErrorCode *ierr)
 28: {
 29:   PetscViewer v;
 30:   PetscPatchDefaultViewers_Fortran(viewer, v);
 31:   *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_SCALAR);
 32: }

 34: PETSC_EXTERN void petscviewerbinarywritereal_(PetscViewer *viewer, PetscReal *a, PetscInt *len, PetscErrorCode *ierr)
 35: {
 36:   PetscViewer v;
 37:   PetscPatchDefaultViewers_Fortran(viewer, v);
 38:   *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_REAL);
 39: }

 41: PETSC_EXTERN void petscviewerbinaryreadint_(PetscViewer *viewer, PetscInt *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
 42: {
 43:   PetscViewer v;
 44:   PetscPatchDefaultViewers_Fortran(viewer, v);
 45:   CHKFORTRANNULLINTEGER(count);
 46:   *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_INT);
 47: }

 49: PETSC_EXTERN void petscviewerbinaryreadscalar_(PetscViewer *viewer, PetscScalar *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
 50: {
 51:   PetscViewer v;
 52:   PetscPatchDefaultViewers_Fortran(viewer, v);
 53:   CHKFORTRANNULLINTEGER(count);
 54:   *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_SCALAR);
 55: }

 57: PETSC_EXTERN void petscviewerbinaryreadreal_(PetscViewer *viewer, PetscReal *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
 58: {
 59:   PetscViewer v;
 60:   PetscPatchDefaultViewers_Fortran(viewer, v);
 61:   CHKFORTRANNULLINTEGER(count);
 62:   *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_REAL);
 63: }