|
|
1.1 root 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:
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:
20: #define TRUE_ (1)
21: #define FALSE_ (0)
22:
23: /* Extern is for use with -E */
24: #ifndef Extern
25: #define Extern extern
26: #endif
27:
28: /* I/O stuff */
29:
30: #ifdef f2c_i2
31: /* for -i2 */
32: typedef short flag;
33: typedef short ftnlen;
34: typedef short ftnint;
35: #else
36: typedef long flag;
37: typedef long ftnlen;
38: typedef long ftnint;
39: #endif
40:
41: /*external read, write*/
42: typedef struct
43: { flag cierr;
44: ftnint ciunit;
45: flag ciend;
46: char *cifmt;
47: ftnint cirec;
48: } cilist;
49:
50: /*internal read, write*/
51: typedef struct
52: { flag icierr;
53: char *iciunit;
54: flag iciend;
55: char *icifmt;
56: ftnint icirlen;
57: ftnint icirnum;
58: } icilist;
59:
60: /*open*/
61: typedef struct
62: { flag oerr;
63: ftnint ounit;
64: char *ofnm;
65: ftnlen ofnmlen;
66: char *osta;
67: char *oacc;
68: char *ofm;
69: ftnint orl;
70: char *oblnk;
71: } olist;
72:
73: /*close*/
74: typedef struct
75: { flag cerr;
76: ftnint cunit;
77: char *csta;
78: } cllist;
79:
80: /*rewind, backspace, endfile*/
81: typedef struct
82: { flag aerr;
83: ftnint aunit;
84: } alist;
85:
86: /* inquire */
87: typedef struct
88: { flag inerr;
89: ftnint inunit;
90: char *infile;
91: ftnlen infilen;
92: ftnint *inex; /*parameters in standard's order*/
93: ftnint *inopen;
94: ftnint *innum;
95: ftnint *innamed;
96: char *inname;
97: ftnlen innamlen;
98: char *inacc;
99: ftnlen inacclen;
100: char *inseq;
101: ftnlen inseqlen;
102: char *indir;
103: ftnlen indirlen;
104: char *infmt;
105: ftnlen infmtlen;
106: char *inform;
107: ftnint informlen;
108: char *inunf;
109: ftnlen inunflen;
110: ftnint *inrecl;
111: ftnint *innrec;
112: char *inblank;
113: ftnlen inblanklen;
114: } inlist;
115:
116: #define VOID void
117:
118: union Multitype { /* for multiple entry points */
119: shortint h;
120: integer i;
121: real r;
122: doublereal d;
123: complex c;
124: doublecomplex z;
125: };
126:
127: typedef union Multitype Multitype;
128:
129:
130: /* fix up name clashes */
131:
132: #define acos__ acos_
133: #define asin__ asin_
134: #define asm__ asm_
135: #define auto__ auto_
136: #define break__ break_
137: #define case__ case_
138: #define char__ char_
139: #define const__ const_
140: #define cos__ cos_
141: #define cosh__ cosh_
142: #define do__ do_
143: #define double__ double_
144: #define else__ else_
145: #define entry__ entry_
146: #define enum__ enum_
147: #define exp__ exp_
148: #define extern__ extern_
149: #define float__ float_
150: #define for__ for_
151: #define int__ int_
152: #define log__ log_
153: #define long__ long_
154: #define short__ short_
155: #define signed__ signed_
156: #define sin__ sin_
157: #define sinh__ sinh_
158: #define sizeof__ sizeof_
159: #define sqrt__ sqrt_
160: #define static__ static_
161: #define struct__ struct_
162: #define switch__ switch_
163: #define tan__ tan_
164: #define tanh__ tanh_
165: #define union__ union_
166: #define void__ void_
167: #define while__ while_
168: #define pow_ii_ pow_ii
169: #define pow_ri_ pow_ri
170: #define pow_di_ pow_di
171: #define pow_ci_ pow_ci
172: #define pow_zi_ pow_zi
173: #define pow_hh_ pow_hh
174: #define pow_dd_ pow_dd
175: #define pow_zz_ pow_zz
176: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.