xref: /petsc/src/sys/fileio/ftn-custom/zsysiof.c (revision b0dcfd164860a975c76f90dabf1036901aab1c4e)
1*6dd63270SBarry Smith #include <petsc/private/ftnimpl.h>
255fcb7f5SSatish Balay 
355fcb7f5SSatish Balay #if defined(PETSC_HAVE_FORTRAN_CAPS)
418d1adefSBarry Smith   #define petscbinaryreadint_         PETSCBINARYREADINT
518d1adefSBarry Smith   #define petscbinaryreadreal_        PETSCBINARYREADREAL
618d1adefSBarry Smith   #define petscbinaryreadcomplex_     PETSCBINARYREADCOMPLEX
718d1adefSBarry Smith   #define petscbinaryreadrealcnt_     PETSCBINARYREADREALCNT
818d1adefSBarry Smith   #define petscbinaryreadcomplexcnt_  PETSCBINARYREADCOMPLEXCNT
9296ae53dSBarry Smith   #define petscbinaryreadintcnt_      PETSCBINARYREADINTCNT
1018d1adefSBarry Smith   #define petscbinaryreadint1_        PETSCBINARYREADINT1
11296ae53dSBarry Smith   #define petscbinaryreadreal1_       PETSCBINARYREADREAL1
1218d1adefSBarry Smith   #define petscbinaryreadcomplex1_    PETSCBINARYREADCOMPLEX1
13296ae53dSBarry Smith   #define petscbinaryreadint1cnt_     PETSCBINARYREADINT1CNT
14296ae53dSBarry Smith   #define petscbinaryreadreal1cnt_    PETSCBINARYREADREAL1CNT
15296ae53dSBarry Smith   #define petscbinaryreadcomplex1cnt_ PETSCBINARYREADCOMPLEX1CNT
1618d1adefSBarry Smith   #define petscbinarywriteint_        PETSCBINARYWRITEINT
1718d1adefSBarry Smith   #define petscbinarywritereal_       PETSCBINARYWRITEREAL
1818d1adefSBarry Smith   #define petscbinarywritecomplex_    PETSCBINARYWRITECOMPLEX
1918d1adefSBarry Smith   #define petscbinarywriteint1_       PETSCBINARYWRITEINT1
2018d1adefSBarry Smith   #define petscbinarywritereal1_      PETSCBINARYWRITEREAL1
2118d1adefSBarry Smith   #define petscbinarywritecomplex1_   PETSCBINARYWRITECOMPLEX1
2255fcb7f5SSatish Balay #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
2318d1adefSBarry Smith   #define petscbinaryreadint_         petscbinaryreadint
2418d1adefSBarry Smith   #define petscbinaryreadreal_        petscbinaryreadreal
2518d1adefSBarry Smith   #define petscbinaryreadcomplex_     petscbinaryreadcomplex
2618d1adefSBarry Smith   #define petscbinaryreadrealcnt_     petscbinaryreadrealcnt
2718d1adefSBarry Smith   #define petscbinaryreadcomplexcnt_  petscbinaryreadcomplexcnt
288a6b6cadSSatish Balay   #define petscbinaryreadintcnt_      petscbinaryreadintcnt
2918d1adefSBarry Smith   #define petscbinaryreadint1_        petscbinaryreadint1
308a6b6cadSSatish Balay   #define petscbinaryreadreal1_       petscbinaryreadreal1
3118d1adefSBarry Smith   #define petscbinaryreadcomplex1_    petscbinaryreadcomplex1
32296ae53dSBarry Smith   #define petscbinaryreadint1cnt_     petscbinaryreadint1cnt
33296ae53dSBarry Smith   #define petscbinaryreadreal1cnt_    petscbinaryreadreal1cnt
34296ae53dSBarry Smith   #define petscbinaryreadcomplex1cnt_ petscbinaryreadcomplex1cnt
3518d1adefSBarry Smith   #define petscbinarywriteint_        petscbinarywriteint
3618d1adefSBarry Smith   #define petscbinarywritereal_       petscbinarywritereal
3718d1adefSBarry Smith   #define petscbinarywritecomplex_    petscbinarywritecomplex
3818d1adefSBarry Smith   #define petscbinarywriteint1_       petscbinarywriteint1
3918d1adefSBarry Smith   #define petscbinarywritereal1_      petscbinarywritereal1
4018d1adefSBarry Smith   #define petscbinarywritecomplex1_   petscbinarywritecomplex1
4155fcb7f5SSatish Balay #endif
4255fcb7f5SSatish Balay 
43a9acdec7SBarry Smith /* Definitions of Fortran Wrapper routines */
44a9acdec7SBarry Smith #if defined(__cplusplus)
45a9acdec7SBarry Smith extern "C" {
46a9acdec7SBarry Smith #endif
47a9acdec7SBarry Smith 
petscbinarywriteint_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)48f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywriteint_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
49a9acdec7SBarry Smith {
50f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
51a9acdec7SBarry Smith }
52a9acdec7SBarry Smith 
petscbinarywritereal_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)53f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywritereal_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
54a9acdec7SBarry Smith {
55f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
56a9acdec7SBarry Smith }
57a9acdec7SBarry Smith 
petscbinarywritecomplex_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)58f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywritecomplex_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
59a9acdec7SBarry Smith {
60f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
61a9acdec7SBarry Smith }
62a9acdec7SBarry Smith 
petscbinarywriteint1_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)63f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywriteint1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
64a9acdec7SBarry Smith {
65f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
66a9acdec7SBarry Smith }
67a9acdec7SBarry Smith 
petscbinarywritereal1_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)68f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywritereal1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
69a9acdec7SBarry Smith {
70f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
71a9acdec7SBarry Smith }
72a9acdec7SBarry Smith 
petscbinarywritecomplex1_(int * fd,void * p,PetscInt * n,PetscDataType * type,int * ierr)73f253e43cSLisandro Dalcin PETSC_EXTERN void petscbinarywritecomplex1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr)
74a9acdec7SBarry Smith {
75f253e43cSLisandro Dalcin   *ierr = PetscBinaryWrite(*fd, p, *n, *type);
76a9acdec7SBarry Smith }
77a9acdec7SBarry Smith 
petscbinaryreadint_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)7819caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadint_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
79a9acdec7SBarry Smith {
80a9acdec7SBarry Smith   CHKFORTRANNULLINTEGER(count);
815975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
825975b3b6SBarry Smith   if (*ierr) return;
83a9acdec7SBarry Smith }
84a9acdec7SBarry Smith 
petscbinaryreadreal_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)8519caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadreal_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
86a9acdec7SBarry Smith {
87a9acdec7SBarry Smith   CHKFORTRANNULLINTEGER(count);
885975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
895975b3b6SBarry Smith   if (*ierr) return;
90a9acdec7SBarry Smith }
91a9acdec7SBarry Smith 
petscbinaryreadcomplex_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)9219caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadcomplex_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
93a9acdec7SBarry Smith {
94a9acdec7SBarry Smith   CHKFORTRANNULLINTEGER(count);
955975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
965975b3b6SBarry Smith   if (*ierr) return;
97a9acdec7SBarry Smith }
98a9acdec7SBarry Smith 
petscbinaryreadint1_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)9919caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadint1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
100a9acdec7SBarry Smith {
101a9acdec7SBarry Smith   CHKFORTRANNULLINTEGER(count);
1025975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1035975b3b6SBarry Smith   if (*ierr) return;
104a9acdec7SBarry Smith }
105a9acdec7SBarry Smith 
petscbinaryreadreal1_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)10619caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadreal1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
107a9acdec7SBarry Smith {
108a9acdec7SBarry Smith   CHKFORTRANNULLINTEGER(count);
1095975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1105975b3b6SBarry Smith   if (*ierr) return;
111a9acdec7SBarry Smith }
112a9acdec7SBarry Smith 
petscbinaryreadcomplex1_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)11319caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadcomplex1_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
1149860990eSLisandro Dalcin {
1159860990eSLisandro Dalcin   CHKFORTRANNULLINTEGER(count);
1165975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1175975b3b6SBarry Smith   if (*ierr) return;
1189860990eSLisandro Dalcin }
1199860990eSLisandro Dalcin 
petscbinaryreadintcnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)12019caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadintcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
12118d1adefSBarry Smith {
12218d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1235975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1245975b3b6SBarry Smith   if (*ierr) return;
12518d1adefSBarry Smith }
12618d1adefSBarry Smith 
petscbinaryreadrealcnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)12719caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadrealcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
12818d1adefSBarry Smith {
12918d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1305975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1315975b3b6SBarry Smith   if (*ierr) return;
13218d1adefSBarry Smith }
13318d1adefSBarry Smith 
petscbinaryreadcomplexcnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)13419caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadcomplexcnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
13518d1adefSBarry Smith {
13618d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1375975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1385975b3b6SBarry Smith   if (*ierr) return;
13918d1adefSBarry Smith }
14018d1adefSBarry Smith 
petscbinaryreadint1cnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)14119caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadint1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
14218d1adefSBarry Smith {
14318d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1445975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1455975b3b6SBarry Smith   if (*ierr) return;
14618d1adefSBarry Smith }
14718d1adefSBarry Smith 
petscbinaryreadreal1cnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)14819caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadreal1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
14918d1adefSBarry Smith {
15018d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1515975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1525975b3b6SBarry Smith   if (*ierr) return;
15318d1adefSBarry Smith }
15418d1adefSBarry Smith 
petscbinaryreadcomplex1cnt_(int * fd,void * data,PetscInt * num,PetscInt * count,PetscDataType * type,int * ierr)15519caf8f3SSatish Balay PETSC_EXTERN void petscbinaryreadcomplex1cnt_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr)
15618d1adefSBarry Smith {
15718d1adefSBarry Smith   CHKFORTRANNULLINTEGER(count);
1585975b3b6SBarry Smith   *ierr = PetscBinaryRead(*fd, data, *num, count, *type);
1595975b3b6SBarry Smith   if (*ierr) return;
16018d1adefSBarry Smith }
16118d1adefSBarry Smith 
16218d1adefSBarry Smith #if defined(__cplusplus)
16318d1adefSBarry Smith }
16418d1adefSBarry Smith #endif
165