1 /* copy of ftypes from the compiler */ 2 /* variable types 3 * numeric assumptions: 4 * int < reals < complexes 5 * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX 6 */ 7 8 /* 0-10 retain their old (pre LOGICAL*1, etc.) */ 9 /* values to allow mixing old and new objects. */ 10 11 #define TYUNKNOWN 0 12 #define TYADDR 1 13 #define TYSHORT 2 14 #define TYLONG 3 15 #define TYREAL 4 16 #define TYDREAL 5 17 #define TYCOMPLEX 6 18 #define TYDCOMPLEX 7 19 #define TYLOGICAL 8 20 #define TYCHAR 9 21 #define TYSUBR 10 22 #define TYINT1 11 23 #define TYLOGICAL1 12 24 #define TYLOGICAL2 13 25 #ifdef Allow_TYQUAD 26 #undef TYQUAD 27 #define TYQUAD 14 28 #endif 29 30 #define LINTW 24 31 #define LINE 80 32 #define LLOGW 2 33 #ifdef Old_list_output 34 #define LLOW 1.0 35 #define LHIGH 1.e9 36 #define LEFMT " %# .8E" 37 #define LFFMT " %# .9g" 38 #else 39 #define LGFMT "%.9G" 40 #endif 41 /* LEFBL 20 should suffice; 24 overcomes a NeXT bug. */ 42 #define LEFBL 24 43 44 typedef union 45 { 46 char flchar; 47 short flshort; 48 ftnint flint; 49 #ifdef Allow_TYQUAD 50 longint fllongint; 51 #endif 52 real flreal; 53 doublereal fldouble; 54 } flex; 55 #ifdef KR_headers 56 extern int (*f__lioproc)(), (*l_getc)(), (*l_ungetc)(); 57 extern int l_read(), l_write(); 58 #else 59 #ifdef __cplusplus 60 extern "C" { 61 #endif 62 extern int (*f__lioproc)(ftnint*, char*, ftnlen, ftnint); 63 extern int l_write(ftnint*, char*, ftnlen, ftnint); 64 extern void x_wsne(cilist*); 65 extern int c_le(cilist*), (*l_getc)(void), (*l_ungetc)(int,FILE*); 66 extern int l_read(ftnint*,char*,ftnlen,ftnint); 67 extern integer e_rsle(void), e_wsle(void), s_wsne(cilist*); 68 extern int z_rnew(void); 69 #endif 70 extern ftnint L_len; 71 extern int f__scale; 72 #ifdef __cplusplus 73 } 74 #endif 75