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 extern int f__scale; 56 #ifdef KR_headers 57 extern int (*f__lioproc)(), (*l_getc)(), (*l_ungetc)(); 58 extern int l_read(), l_write(); 59 #else 60 #ifdef __cplusplus 61 extern "C" { 62 #endif 63 extern int (*f__lioproc)(ftnint*, char*, ftnlen, ftnint); 64 extern int l_write(ftnint*, char*, ftnlen, ftnint); 65 extern void x_wsne(cilist*); 66 extern int c_le(cilist*), (*l_getc)(void), (*l_ungetc)(int,FILE*); 67 extern int l_read(ftnint*,char*,ftnlen,ftnint); 68 extern integer e_rsle(void), e_wsle(void), s_wsne(cilist*); 69 extern int z_rnew(void); 70 #ifdef __cplusplus 71 } 72 #endif 73 #endif 74 extern ftnint L_len; 75