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: }