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