1*6dd63270SBarry Smith #include <petsc/private/ftnimpl.h>
2*6dd63270SBarry Smith #include <petscviewer.h>
3*6dd63270SBarry Smith
4*6dd63270SBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS)
5*6dd63270SBarry Smith #define petscviewerbinarywriteint_ PETSCVIEWERBINARYWRITEINT
6*6dd63270SBarry Smith #define petscviewerbinarywritescalar_ PETSCVIEWERBINARYWRITESCALAR
7*6dd63270SBarry Smith #define petscviewerbinarywritereal_ PETSCVIEWERBINARYWRITEREAL
8*6dd63270SBarry Smith #define petscviewerbinaryreadint_ PETSCVIEWERBINARYREADINT
9*6dd63270SBarry Smith #define petscviewerbinaryreadscalar_ PETSCVIEWERBINARYREADSCALAR
10*6dd63270SBarry Smith #define petscviewerbinaryreadreal_ PETSCVIEWERBINARYREADREAL
11*6dd63270SBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
12*6dd63270SBarry Smith #define petscviewerbinarywriteint_ petscviewerbinarywriteint
13*6dd63270SBarry Smith #define petscviewerbinarywritescalar_ petscviewerbinarywritescalar
14*6dd63270SBarry Smith #define petscviewerbinarywritereal_ petscviewerbinarywritereal
15*6dd63270SBarry Smith #define petscviewerbinaryreadint_ petscviewerbinaryreadint
16*6dd63270SBarry Smith #define petscviewerbinaryreadscalar_ petscviewerbinaryreadscalar
17*6dd63270SBarry Smith #define petscviewerbinaryreadreal_ petscviewerbinaryreadreal
18*6dd63270SBarry Smith #endif
19*6dd63270SBarry Smith
petscviewerbinarywriteint_(PetscViewer * viewer,PetscInt * a,PetscInt * len,PetscErrorCode * ierr)20*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinarywriteint_(PetscViewer *viewer, PetscInt *a, PetscInt *len, PetscErrorCode *ierr)
21*6dd63270SBarry Smith {
22*6dd63270SBarry Smith PetscViewer v;
23*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
24*6dd63270SBarry Smith *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_INT);
25*6dd63270SBarry Smith }
26*6dd63270SBarry Smith
petscviewerbinarywritescalar_(PetscViewer * viewer,PetscScalar * a,PetscInt * len,PetscErrorCode * ierr)27*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinarywritescalar_(PetscViewer *viewer, PetscScalar *a, PetscInt *len, PetscErrorCode *ierr)
28*6dd63270SBarry Smith {
29*6dd63270SBarry Smith PetscViewer v;
30*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
31*6dd63270SBarry Smith *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_SCALAR);
32*6dd63270SBarry Smith }
33*6dd63270SBarry Smith
petscviewerbinarywritereal_(PetscViewer * viewer,PetscReal * a,PetscInt * len,PetscErrorCode * ierr)34*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinarywritereal_(PetscViewer *viewer, PetscReal *a, PetscInt *len, PetscErrorCode *ierr)
35*6dd63270SBarry Smith {
36*6dd63270SBarry Smith PetscViewer v;
37*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
38*6dd63270SBarry Smith *ierr = PetscViewerBinaryWrite(v, a, *len, PETSC_REAL);
39*6dd63270SBarry Smith }
40*6dd63270SBarry Smith
petscviewerbinaryreadint_(PetscViewer * viewer,PetscInt * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)41*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinaryreadint_(PetscViewer *viewer, PetscInt *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
42*6dd63270SBarry Smith {
43*6dd63270SBarry Smith PetscViewer v;
44*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
45*6dd63270SBarry Smith CHKFORTRANNULLINTEGER(count);
46*6dd63270SBarry Smith *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_INT);
47*6dd63270SBarry Smith }
48*6dd63270SBarry Smith
petscviewerbinaryreadscalar_(PetscViewer * viewer,PetscScalar * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)49*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinaryreadscalar_(PetscViewer *viewer, PetscScalar *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
50*6dd63270SBarry Smith {
51*6dd63270SBarry Smith PetscViewer v;
52*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
53*6dd63270SBarry Smith CHKFORTRANNULLINTEGER(count);
54*6dd63270SBarry Smith *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_SCALAR);
55*6dd63270SBarry Smith }
56*6dd63270SBarry Smith
petscviewerbinaryreadreal_(PetscViewer * viewer,PetscReal * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)57*6dd63270SBarry Smith PETSC_EXTERN void petscviewerbinaryreadreal_(PetscViewer *viewer, PetscReal *a, PetscInt *len, PetscInt *count, PetscErrorCode *ierr)
58*6dd63270SBarry Smith {
59*6dd63270SBarry Smith PetscViewer v;
60*6dd63270SBarry Smith PetscPatchDefaultViewers_Fortran(viewer, v);
61*6dd63270SBarry Smith CHKFORTRANNULLINTEGER(count);
62*6dd63270SBarry Smith *ierr = PetscViewerBinaryRead(v, a, *len, count, PETSC_REAL);
63*6dd63270SBarry Smith }
64