1 #include <petsc/private/ftnimpl.h> 2 3 #if defined(PETSC_HAVE_FORTRAN_CAPS) 4 #define petscbinaryreadint_ PETSCBINARYREADINT 5 #define petscbinaryreadreal_ PETSCBINARYREADREAL 6 #define petscbinaryreadcomplex_ PETSCBINARYREADCOMPLEX 7 #define petscbinaryreadrealcnt_ PETSCBINARYREADREALCNT 8 #define petscbinaryreadcomplexcnt_ PETSCBINARYREADCOMPLEXCNT 9 #define petscbinaryreadintcnt_ PETSCBINARYREADINTCNT 10 #define petscbinaryreadint1_ PETSCBINARYREADINT1 11 #define petscbinaryreadreal1_ PETSCBINARYREADREAL1 12 #define petscbinaryreadcomplex1_ PETSCBINARYREADCOMPLEX1 13 #define petscbinaryreadint1cnt_ PETSCBINARYREADINT1CNT 14 #define petscbinaryreadreal1cnt_ PETSCBINARYREADREAL1CNT 15 #define petscbinaryreadcomplex1cnt_ PETSCBINARYREADCOMPLEX1CNT 16 #define petscbinarywriteint_ PETSCBINARYWRITEINT 17 #define petscbinarywritereal_ PETSCBINARYWRITEREAL 18 #define petscbinarywritecomplex_ PETSCBINARYWRITECOMPLEX 19 #define petscbinarywriteint1_ PETSCBINARYWRITEINT1 20 #define petscbinarywritereal1_ PETSCBINARYWRITEREAL1 21 #define petscbinarywritecomplex1_ PETSCBINARYWRITECOMPLEX1 22 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 23 #define petscbinaryreadint_ petscbinaryreadint 24 #define petscbinaryreadreal_ petscbinaryreadreal 25 #define petscbinaryreadcomplex_ petscbinaryreadcomplex 26 #define petscbinaryreadrealcnt_ petscbinaryreadrealcnt 27 #define petscbinaryreadcomplexcnt_ petscbinaryreadcomplexcnt 28 #define petscbinaryreadintcnt_ petscbinaryreadintcnt 29 #define petscbinaryreadint1_ petscbinaryreadint1 30 #define petscbinaryreadreal1_ petscbinaryreadreal1 31 #define petscbinaryreadcomplex1_ petscbinaryreadcomplex1 32 #define petscbinaryreadint1cnt_ petscbinaryreadint1cnt 33 #define petscbinaryreadreal1cnt_ petscbinaryreadreal1cnt 34 #define petscbinaryreadcomplex1cnt_ petscbinaryreadcomplex1cnt 35 #define petscbinarywriteint_ petscbinarywriteint 36 #define petscbinarywritereal_ petscbinarywritereal 37 #define petscbinarywritecomplex_ petscbinarywritecomplex 38 #define petscbinarywriteint1_ petscbinarywriteint1 39 #define petscbinarywritereal1_ petscbinarywritereal1 40 #define petscbinarywritecomplex1_ petscbinarywritecomplex1 41 #endif 42 43 /* Definitions of Fortran Wrapper routines */ 44 #if defined(__cplusplus) 45 extern "C" { 46 #endif 47 48 PETSC_EXTERN void petscbinarywriteint_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 49 { 50 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 51 } 52 53 PETSC_EXTERN void petscbinarywritereal_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 54 { 55 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 56 } 57 58 PETSC_EXTERN void petscbinarywritecomplex_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 59 { 60 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 61 } 62 63 PETSC_EXTERN void petscbinarywriteint1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 64 { 65 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 66 } 67 68 PETSC_EXTERN void petscbinarywritereal1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 69 { 70 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 71 } 72 73 PETSC_EXTERN void petscbinarywritecomplex1_(int *fd, void *p, PetscInt *n, PetscDataType *type, int *ierr) 74 { 75 *ierr = PetscBinaryWrite(*fd, p, *n, *type); 76 } 77 78 PETSC_EXTERN void petscbinaryreadint_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr) 79 { 80 CHKFORTRANNULLINTEGER(count); 81 *ierr = PetscBinaryRead(*fd, data, *num, count, *type); 82 if (*ierr) return; 83 } 84 85 PETSC_EXTERN void petscbinaryreadreal_(int *fd, void *data, PetscInt *num, PetscInt *count, PetscDataType *type, int *ierr) 86 { 87 CHKFORTRANNULLINTEGER(count); 88 *ierr = PetscBinaryRead(*fd, data, *num, count, *type); 89 if (*ierr) return; 90 } 91 92 PETSC_EXTERN void petscbinaryreadcomplex_(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 } 98 99 PETSC_EXTERN void petscbinaryreadint1_(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 } 105 106 PETSC_EXTERN void petscbinaryreadreal1_(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 } 112 113 PETSC_EXTERN void petscbinaryreadcomplex1_(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 } 119 120 PETSC_EXTERN void petscbinaryreadintcnt_(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 } 126 127 PETSC_EXTERN void petscbinaryreadrealcnt_(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 } 133 134 PETSC_EXTERN void petscbinaryreadcomplexcnt_(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 } 140 141 PETSC_EXTERN void petscbinaryreadint1cnt_(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 } 147 148 PETSC_EXTERN void petscbinaryreadreal1cnt_(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 } 154 155 PETSC_EXTERN void petscbinaryreadcomplex1cnt_(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 } 161 162 #if defined(__cplusplus) 163 } 164 #endif 165