00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00020 #ifndef F2C_INCLUDE
00021 #define F2C_INCLUDE
00022
00023 #if (__GNUC__ > 3)
00024 typedef int __g77_integer;
00025 typedef unsigned int __g77_uinteger;
00026 typedef long int __g77_longint;
00027 typedef unsigned long int __g77_ulongint;
00028 #endif
00029
00030
00031
00032 typedef __g77_integer integer;
00033 typedef __g77_uinteger uinteger;
00034 typedef char *address;
00035 typedef short int shortint;
00036 typedef float real;
00037 typedef double doublereal;
00038 typedef struct { real r, i; } complex;
00039 typedef struct { doublereal r, i; } doublecomplex;
00040 typedef __g77_integer logical;
00041 typedef short int shortlogical;
00042 typedef char logical1;
00043 typedef char integer1;
00044 typedef __g77_longint longint;
00045 typedef __g77_ulongint ulongint;
00046 #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
00047 #define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
00048
00049 #define TRUE_ (1)
00050 #define FALSE_ (0)
00051
00052
00053 #ifndef Extern
00054 #define Extern extern
00055 #endif
00056
00057
00058
00059 #ifdef f2c_i2
00060 #error "f2c_i2 will not work with g77!!!!"
00061
00062 typedef short flag;
00063 typedef short ftnlen;
00064 typedef short ftnint;
00065 #else
00066 typedef __g77_integer flag;
00067 typedef __g77_integer ftnlen;
00068 typedef __g77_integer ftnint;
00069 #endif
00070
00071
00072 typedef struct
00073 { flag cierr;
00074 ftnint ciunit;
00075 flag ciend;
00076 char *cifmt;
00077 ftnint cirec;
00078 } cilist;
00079
00080
00081 typedef struct
00082 { flag icierr;
00083 char *iciunit;
00084 flag iciend;
00085 char *icifmt;
00086 ftnint icirlen;
00087 ftnint icirnum;
00088 } icilist;
00089
00090
00091 typedef struct
00092 { flag oerr;
00093 ftnint ounit;
00094 char *ofnm;
00095 ftnlen ofnmlen;
00096 char *osta;
00097 char *oacc;
00098 char *ofm;
00099 ftnint orl;
00100 char *oblnk;
00101 } olist;
00102
00103
00104 typedef struct
00105 { flag cerr;
00106 ftnint cunit;
00107 char *csta;
00108 } cllist;
00109
00110
00111 typedef struct
00112 { flag aerr;
00113 ftnint aunit;
00114 } alist;
00115
00116
00117 typedef struct
00118 { flag inerr;
00119 ftnint inunit;
00120 char *infile;
00121 ftnlen infilen;
00122 ftnint *inex;
00123 ftnint *inopen;
00124 ftnint *innum;
00125 ftnint *innamed;
00126 char *inname;
00127 ftnlen innamlen;
00128 char *inacc;
00129 ftnlen inacclen;
00130 char *inseq;
00131 ftnlen inseqlen;
00132 char *indir;
00133 ftnlen indirlen;
00134 char *infmt;
00135 ftnlen infmtlen;
00136 char *inform;
00137 ftnint informlen;
00138 char *inunf;
00139 ftnlen inunflen;
00140 ftnint *inrecl;
00141 ftnint *innrec;
00142 char *inblank;
00143 ftnlen inblanklen;
00144 } inlist;
00145
00146 union Multitype {
00147 integer1 g;
00148 shortint h;
00149 integer i;
00150
00151 real r;
00152 doublereal d;
00153 complex c;
00154 doublecomplex z;
00155 };
00156
00157 typedef union Multitype Multitype;
00158
00159
00160
00161 struct Vardesc {
00162 char *name;
00163 char *addr;
00164 ftnlen *dims;
00165 int type;
00166 };
00167 typedef struct Vardesc Vardesc;
00168
00169 struct Namelist {
00170 char *name;
00171 Vardesc **vars;
00172 int nvars;
00173 };
00174 typedef struct Namelist Namelist;
00175
00176 #define abs(x) ((x) >= 0 ? (x) : -(x))
00177 #define dabs(x) (doublereal)abs(x)
00178 #define min(a,b) ((a) <= (b) ? (a) : (b))
00179 #define max(a,b) ((a) >= (b) ? (a) : (b))
00180 #define dmin(a,b) (doublereal)min(a,b)
00181 #define dmax(a,b) (doublereal)max(a,b)
00182 #define bit_test(a,b) ((a) >> (b) & 1)
00183 #define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
00184 #define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
00185
00186
00187
00188 #define F2C_proc_par_types 1
00189 #ifdef __cplusplus
00190 typedef int (*U_fp)(...);
00191 typedef shortint (*J_fp)(...);
00192 typedef integer (*I_fp)(...);
00193 typedef real (*R_fp)(...);
00194 typedef doublereal (*D_fp)(...), (*E_fp)(...);
00195 typedef void (*C_fp)(...);
00196 typedef void (*Z_fp)(...);
00197 typedef logical (*L_fp)(...);
00198 typedef shortlogical (*K_fp)(...);
00199 typedef void (*H_fp)(...);
00200 typedef int (*S_fp)(...);
00201 #else
00202 typedef int (*U_fp)();
00203 typedef shortint (*J_fp)();
00204 typedef integer (*I_fp)();
00205 typedef real (*R_fp)();
00206 typedef doublereal (*D_fp)(), (*E_fp)();
00207 typedef void (*C_fp)();
00208 typedef void (*Z_fp)();
00209 typedef logical (*L_fp)();
00210 typedef shortlogical (*K_fp)();
00211 typedef void (*H_fp)();
00212 typedef int (*S_fp)();
00213 #endif
00214
00215 typedef void C_f;
00216 typedef void H_f;
00217 typedef void Z_f;
00218 typedef doublereal E_f;
00219
00220
00221
00222 #ifndef Skip_f2c_Undefs
00223
00224
00225
00226 #undef cray
00227 #undef gcos
00228 #undef mc68010
00229 #undef mc68020
00230 #undef mips
00231 #undef pdp11
00232 #undef sgi
00233 #undef sparc
00234 #undef sun
00235 #undef sun2
00236 #undef sun3
00237 #undef sun4
00238 #undef u370
00239 #undef u3b
00240 #undef u3b2
00241 #undef u3b5
00242 #undef unix
00243 #undef vax
00244 #endif
00245 #endif