Actual source code: zsysiof.c

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

  3: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  4:   #define petscbinaryopen_            PETSCBINARYOPEN
  5:   #define petsctestfile_              PETSCTESTFILE
  6:   #define petscbinaryreadint_         PETSCBINARYREADINT
  7:   #define petscbinaryreadreal_        PETSCBINARYREADREAL
  8:   #define petscbinaryreadcomplex_     PETSCBINARYREADCOMPLEX
  9:   #define petscbinaryreadrealcnt_     PETSCBINARYREADREALCNT
 10:   #define petscbinaryreadcomplexcnt_  PETSCBINARYREADCOMPLEXCNT
 11:   #define petscbinaryreadintcnt_      PETSCBINARYREADINTCNT
 12:   #define petscbinaryreadint1_        PETSCBINARYREADINT1
 13:   #define petscbinaryreadreal1_       PETSCBINARYREADREAL1
 14:   #define petscbinaryreadcomplex1_    PETSCBINARYREADCOMPLEX1
 15:   #define petscbinaryreadint1cnt_     PETSCBINARYREADINT1CNT
 16:   #define petscbinaryreadreal1cnt_    PETSCBINARYREADREAL1CNT
 17:   #define petscbinaryreadcomplex1cnt_ PETSCBINARYREADCOMPLEX1CNT
 18:   #define petscbinarywriteint_        PETSCBINARYWRITEINT
 19:   #define petscbinarywritereal_       PETSCBINARYWRITEREAL
 20:   #define petscbinarywritecomplex_    PETSCBINARYWRITECOMPLEX
 21:   #define petscbinarywriteint1_       PETSCBINARYWRITEINT1
 22:   #define petscbinarywritereal1_      PETSCBINARYWRITEREAL1
 23:   #define petscbinarywritecomplex1_   PETSCBINARYWRITECOMPLEX1
 24: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 25:   #define petscbinaryopen_            petscbinaryopen
 26:   #define petsctestfile_              petsctestfile
 27:   #define petscbinaryreadint_         petscbinaryreadint
 28:   #define petscbinaryreadreal_        petscbinaryreadreal
 29:   #define petscbinaryreadcomplex_     petscbinaryreadcomplex
 30:   #define petscbinaryreadintcnt_      petscbinaryreadintcnt
 31:   #define petscbinaryreadrealcnt_     petscbinaryreadrealcnt
 32:   #define petscbinaryreadcomplexcnt_  petscbinaryreadcomplexcnt
 33:   #define petscbinaryreadint1_        petscbinaryreadint1
 34:   #define petscbinaryreadrea11_       petscbinaryreadrea11
 35:   #define petscbinaryreadcomplex1_    petscbinaryreadcomplex1
 36:   #define petscbinaryreadint1cnt_     petscbinaryreadint1cnt
 37:   #define petscbinaryreadreal1cnt_    petscbinaryreadreal1cnt
 38:   #define petscbinaryreadcomplex1cnt_ petscbinaryreadcomplex1cnt
 39:   #define petscbinarywriteint_        petscbinarywriteint
 40:   #define petscbinarywritereal_       petscbinarywritereal
 41:   #define petscbinarywritecomplex_    petscbinarywritecomplex
 42:   #define petscbinarywriteint1_       petscbinarywriteint1
 43:   #define petscbinarywritereal1_      petscbinarywritereal1
 44:   #define petscbinarywritecomplex1_   petscbinarywritecomplex1
 45: #endif

 47: /* Definitions of Fortran Wrapper routines */
 48: #if defined(__cplusplus)
 49: extern "C" {
 50: #endif

 52: PETSC_EXTERN void petscbinarywriteint_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 53: {
 54:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 55: }

 57: PETSC_EXTERN void petscbinarywritereal_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 58: {
 59:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 60: }

 62: PETSC_EXTERN void petscbinarywritecomplex_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 63: {
 64:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 65: }

 67: PETSC_EXTERN void petscbinarywriteint1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 68: {
 69:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 70: }

 72: PETSC_EXTERN void petscbinarywritereal1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 73: {
 74:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 75: }

 77: PETSC_EXTERN void petscbinarywritecomplex1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
 78: {
 79:   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
 80: }

 82: PETSC_EXTERN void petscbinaryopen_(char *name, PetscFileMode *type, int *fd, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 83: {
 84:   char *c1;

 86:   FIXCHAR(name, len, c1);
 87:   *ierr = PetscBinaryOpen(c1, *type, fd);
 88:   if (*ierr) return;
 89:   FREECHAR(name, c1);
 90: }

 92: PETSC_EXTERN void petscbinaryreadint_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
 93: {
 94:   CHKFORTRANNULLINTEGER(count);
 95:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
 96:   if (*ierr) return;
 97: }

 99: PETSC_EXTERN void petscbinaryreadreal_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
100: {
101:   CHKFORTRANNULLINTEGER(count);
102:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
103:   if (*ierr) return;
104: }

106: PETSC_EXTERN void petscbinaryreadcomplex_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
107: {
108:   CHKFORTRANNULLINTEGER(count);
109:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
110:   if (*ierr) return;
111: }

113: PETSC_EXTERN void petscbinaryreadint1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
114: {
115:   CHKFORTRANNULLINTEGER(count);
116:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
117:   if (*ierr) return;
118: }

120: PETSC_EXTERN void petscbinaryreadreal1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
121: {
122:   CHKFORTRANNULLINTEGER(count);
123:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
124:   if (*ierr) return;
125: }

127: PETSC_EXTERN void petscbinaryreadcomplex1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
128: {
129:   CHKFORTRANNULLINTEGER(count);
130:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
131:   if (*ierr) return;
132: }

134: PETSC_EXTERN void petscbinaryreadintcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
135: {
136:   CHKFORTRANNULLINTEGER(count);
137:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
138:   if (*ierr) return;
139: }

141: PETSC_EXTERN void petscbinaryreadrealcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
142: {
143:   CHKFORTRANNULLINTEGER(count);
144:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
145:   if (*ierr) return;
146: }

148: PETSC_EXTERN void petscbinaryreadcomplexcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
149: {
150:   CHKFORTRANNULLINTEGER(count);
151:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
152:   if (*ierr) return;
153: }

155: PETSC_EXTERN void petscbinaryreadint1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
156: {
157:   CHKFORTRANNULLINTEGER(count);
158:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
159:   if (*ierr) return;
160: }

162: PETSC_EXTERN void petscbinaryreadreal1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
163: {
164:   CHKFORTRANNULLINTEGER(count);
165:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
166:   if (*ierr) return;
167: }

169: PETSC_EXTERN void petscbinaryreadcomplex1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
170: {
171:   CHKFORTRANNULLINTEGER(count);
172:   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
173:   if (*ierr) return;
174: }

176: PETSC_EXTERN void petsctestfile_(char *name, char *mode, PetscBool *flg, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len, PETSC_FORTRAN_CHARLEN_T len1)
177: {
178:   char *c1;

180:   FIXCHAR(name, len, c1);
181:   *ierr = PetscTestFile(c1, *mode, flg);
182:   if (*ierr) return;
183:   FREECHAR(name, c1);
184: }

186: #if defined(__cplusplus)
187: }
188: #endif