ARB
f2c.h
Go to the documentation of this file.
1 /* f2c.h -- Standard Fortran to C header file */
2 
7 #ifndef F2C_INCLUDE
8 #define F2C_INCLUDE
9 
10 typedef long int integer;
11 typedef char *address;
12 typedef short int shortint;
13 typedef float real;
14 typedef double doublereal;
15 typedef struct { real r, i; } complex;
16 typedef struct { doublereal r, i; } doublecomplex;
17 typedef long int logical;
18 typedef short int shortlogical;
19 typedef char logical1;
20 typedef char integer1;
21 /* typedef long long longint; */ /* system-dependent */
22 
23 #define TRUE_ (1)
24 #define FALSE_ (0)
25 
26 /* Extern is for use with -E */
27 #ifndef Extern
28 #define Extern extern
29 #endif
30 
31 /* I/O stuff */
32 
33 #ifdef f2c_i2
34 /* for -i2 */
35 typedef short flag;
36 typedef short ftnlen;
37 typedef short ftnint;
38 #else
39 typedef long int flag;
40 typedef long int ftnlen;
41 typedef long int ftnint;
42 #endif
43 
44 /*external read, write*/
45 typedef struct
49  char *cifmt;
51 } cilist;
52 
53 /*internal read, write*/
54 typedef struct
56  char *iciunit;
58  char *icifmt;
61 } icilist;
62 
63 /*open*/
64 typedef struct
67  char *ofnm;
69  char *osta;
70  char *oacc;
71  char *ofm;
73  char *oblnk;
74 } olist;
75 
76 /*close*/
77 typedef struct
80  char *csta;
81 } cllist;
82 
83 /*rewind, backspace, endfile*/
84 typedef struct
87 } alist;
88 
89 /* inquire */
90 typedef struct
93  char *infile;
95  ftnint *inex; /*parameters in standard's order*/
99  char *inname;
101  char *inacc;
103  char *inseq;
105  char *indir;
107  char *infmt;
109  char *inform;
111  char *inunf;
115  char *inblank;
117 } inlist;
118 
119 #define VOID void
120 
121 union Multitype { /* for multiple entry points */
125  /* longint j; */
130  };
131 
132 typedef union Multitype Multitype;
133 
134 /*typedef long int Long;*/ /* No longer used; formerly in Namelist */
135 
136 struct Vardesc { /* for Namelist */
137  char *name;
138  char *addr;
140  int type;
141  };
142 typedef struct Vardesc Vardesc;
143 
144 struct Namelist {
145  char *name;
147  int nvars;
148  };
149 typedef struct Namelist Namelist;
150 
151 #define abs(x) ((x) >= 0 ? (x) : -(x))
152 #define dabs(x) (doublereal)abs(x)
153 #define min(a,b) ((a) <= (b) ? (a) : (b))
154 #define max(a,b) ((a) >= (b) ? (a) : (b))
155 #define dmin(a,b) (doublereal)min(a,b)
156 #define dmax(a,b) (doublereal)max(a,b)
157 
158 /* procedure parameter types for -A and -C++ */
159 
160 #define F2C_proc_par_types 1
161 #ifdef __cplusplus
162 typedef int /* Unknown procedure type */ (*U_fp)(...);
163 typedef shortint (*J_fp)(...);
164 typedef integer (*I_fp)(...);
165 typedef real (*R_fp)(...);
166 typedef doublereal (*D_fp)(...), (*E_fp)(...);
167 typedef /* Complex */ VOID (*C_fp)(...);
168 typedef /* Double Complex */ VOID (*Z_fp)(...);
169 typedef logical (*L_fp)(...);
170 typedef shortlogical (*K_fp)(...);
171 typedef /* Character */ VOID (*H_fp)(...);
172 typedef /* Subroutine */ int (*S_fp)(...);
173 #else
174 typedef int /* Unknown procedure type */ (*U_fp)();
175 typedef shortint (*J_fp)();
176 typedef integer (*I_fp)();
177 typedef real (*R_fp)();
178 typedef doublereal (*D_fp)(), (*E_fp)();
179 typedef /* Complex */ VOID (*C_fp)();
180 typedef /* Double Complex */ VOID (*Z_fp)();
181 typedef logical (*L_fp)();
182 typedef shortlogical (*K_fp)();
183 typedef /* Character */ VOID (*H_fp)();
184 typedef /* Subroutine */ int (*S_fp)();
185 #endif
186 /* E_fp is for real functions when -R is not specified */
187 typedef VOID C_f; /* complex function */
188 typedef VOID H_f; /* character function */
189 typedef VOID Z_f; /* double complex function */
190 typedef doublereal E_f; /* real function with -R not specified */
191 
192 /* undef any lower-case symbols that your C compiler predefines, e.g.: */
193 
194 #ifndef Skip_f2c_Undefs
195 #undef cray
196 #undef gcos
197 #undef mc68010
198 #undef mc68020
199 #undef mips
200 #undef pdp11
201 #undef sgi
202 #undef sparc
203 #undef sun
204 #undef sun2
205 #undef sun3
206 #undef sun4
207 #undef u370
208 #undef u3b
209 #undef u3b2
210 #undef u3b5
211 #undef unix
212 #undef vax
213 #endif
214 #endif
215 
doublereal d
Definition: f2c.h:127
ftnint icirnum
Definition: f2c.h:60
VOID(* H_fp)()
Definition: f2c.h:183
shortint h
Definition: f2c.h:123
char * oblnk
Definition: f2c.h:73
int type
Definition: f2c.h:140
char * inblank
Definition: f2c.h:115
ftnint * inrecl
Definition: f2c.h:113
complex c
Definition: f2c.h:128
integer(* I_fp)()
Definition: f2c.h:176
char * inacc
Definition: f2c.h:101
ftnlen inacclen
Definition: f2c.h:102
VOID(* C_fp)()
Definition: f2c.h:179
Definition: f2c.h:144
ftnlen inunflen
Definition: f2c.h:112
char * icifmt
Definition: f2c.h:58
ftnlen infilen
Definition: f2c.h:94
char * iciunit
Definition: f2c.h:56
char * address
Definition: f2c.h:11
char * name
Definition: f2c.h:145
ftnint icirlen
Definition: f2c.h:59
char * infmt
Definition: f2c.h:107
ftnint ounit
Definition: f2c.h:66
Definition: f2c.h:54
flag icierr
Definition: f2c.h:55
static int alist[MAXN+1]
Definition: ClustalV.cxx:66
char * infile
Definition: f2c.h:93
long int integer
Definition: f2c.h:10
ftnlen ofnmlen
Definition: f2c.h:68
ftnint cirec
Definition: f2c.h:50
ftnint * innum
Definition: f2c.h:97
ftnint * innamed
Definition: f2c.h:98
flag ciend
Definition: f2c.h:48
char * csta
Definition: f2c.h:80
flag oerr
Definition: f2c.h:65
doublereal(* D_fp)()
Definition: f2c.h:178
char * ofm
Definition: f2c.h:71
Definition: f2c.h:121
ftnlen indirlen
Definition: f2c.h:106
doublereal r
Definition: f2c.h:16
Definition: f2c.h:90
ftnint inunit
Definition: f2c.h:92
Definition: f2c.h:64
char integer1
Definition: f2c.h:20
char * oacc
Definition: f2c.h:70
char logical1
Definition: f2c.h:19
flag cerr
Definition: f2c.h:78
short int shortlogical
Definition: f2c.h:18
doublereal(*)(* E_fp)()
Definition: f2c.h:178
flag cierr
Definition: f2c.h:46
ftnlen innamlen
Definition: f2c.h:100
VOID(* Z_fp)()
Definition: f2c.h:180
flag iciend
Definition: f2c.h:57
char * inname
Definition: f2c.h:99
#define VOID
Definition: f2c.h:119
Definition: f2c.h:45
real r
Definition: f2c.h:126
char * cifmt
Definition: f2c.h:49
Vardesc ** vars
Definition: f2c.h:146
char * ofnm
Definition: f2c.h:67
double doublereal
Definition: f2c.h:14
char * inform
Definition: f2c.h:109
char * indir
Definition: f2c.h:105
shortlogical(* K_fp)()
Definition: f2c.h:182
ftnint * inopen
Definition: f2c.h:96
ftnlen inseqlen
Definition: f2c.h:104
char * inunf
Definition: f2c.h:111
short int shortint
Definition: f2c.h:12
ftnint * inex
Definition: f2c.h:95
VOID H_f
Definition: f2c.h:188
long int flag
Definition: f2c.h:39
long int logical
Definition: f2c.h:17
ftnint informlen
Definition: f2c.h:110
logical(* L_fp)()
Definition: f2c.h:181
ftnint * innrec
Definition: f2c.h:114
ftnlen infmtlen
Definition: f2c.h:108
real(* R_fp)()
Definition: f2c.h:177
char * addr
Definition: f2c.h:138
Definition: f2c.h:77
ftnlen inblanklen
Definition: f2c.h:116
ftnint cunit
Definition: f2c.h:79
doublecomplex z
Definition: f2c.h:129
integer1 g
Definition: f2c.h:122
ftnint aunit
Definition: f2c.h:86
char * osta
Definition: f2c.h:69
int(* S_fp)()
Definition: f2c.h:184
integer i
Definition: f2c.h:124
float real
Definition: f2c.h:13
Definition: f2c.h:15
doublereal E_f
Definition: f2c.h:190
VOID Z_f
Definition: f2c.h:189
flag aerr
Definition: f2c.h:85
ftnint ciunit
Definition: f2c.h:47
ftnlen * dims
Definition: f2c.h:139
long int ftnint
Definition: f2c.h:41
int nvars
Definition: f2c.h:147
char * name
Definition: f2c.h:137
flag inerr
Definition: f2c.h:91
Definition: f2c.h:136
VOID C_f
Definition: f2c.h:187
long int ftnlen
Definition: f2c.h:40
shortint(* J_fp)()
Definition: f2c.h:175
ftnint orl
Definition: f2c.h:72
real r
Definition: f2c.h:15
char * inseq
Definition: f2c.h:103