|
|
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.