1 #include <petsc/private/ftnimpl.h>
2 #include <petscviewer.h>
3
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
19
petscviewerbinarywriteint_(PetscViewer * viewer,PetscInt * a,PetscInt * len,PetscErrorCode * ierr)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 }
26
petscviewerbinarywritescalar_(PetscViewer * viewer,PetscScalar * a,PetscInt * len,PetscErrorCode * ierr)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 }
33
petscviewerbinarywritereal_(PetscViewer * viewer,PetscReal * a,PetscInt * len,PetscErrorCode * ierr)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 }
40
petscviewerbinaryreadint_(PetscViewer * viewer,PetscInt * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)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 }
48
petscviewerbinaryreadscalar_(PetscViewer * viewer,PetscScalar * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)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 }
56
petscviewerbinaryreadreal_(PetscViewer * viewer,PetscReal * a,PetscInt * len,PetscInt * count,PetscErrorCode * ierr)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 }
64