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