1 /* 2 char id_lio[] = "@(#)lio.h 1.1"; 3 * 4 * copy of ftypes from the compiler 5 * variable types numeric assumptions: 6 * int < reals < complexes 7 * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX 8 */ 9 10 #define TYUNKNOWN 0 11 #define TYADDR 1 12 #define TYSHORT 2 13 #define TYLONG 3 14 #define TYREAL 4 15 #define TYDREAL 5 16 #define TYCOMPLEX 6 17 #define TYDCOMPLEX 7 18 #define TYLOGICAL 8 19 #define TYCHAR 9 20 #define TYSUBR 10 21 #define TYERROR 11 22 23 #define NTYPES (TYERROR+1) 24 25 #define LINE 80 26 #define LINTW (strlen(buf)) 27 #define LLOGW 3 28 #define LSTRW (len+2) 29 #define LLOW 1.0e-1 30 #define LHIGH 1.0e+LFD 31 #define LDHIGH 1.0e+LDFD 32 #define LFD 6 33 #define LFW (LFD+4) 34 #define LDFD 14 35 #define LDFW (LDFD+4) 36 #define LED LFD 37 #define LEW LFW+4 38 #define LEE 2 39 #define LDED LDFD 40 #define LDEW LDFW+4 41 #define LDEE 2 42 #define LCW (width(a)+width(b)+5) 43 #define LDCW (dwidth(a)+dwidth(b)+5) 44 45 #define abs(z) (z<0?-z:z) 46 #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW) 47 #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW) 48 #define ERR(x) if(n=(x)) err(n>0?errflag:endflag,n,"list io") 49 50 typedef union 51 { short flshort; 52 ftnint flint; 53 float flreal; 54 double fldouble; 55 } flex; 56 57 extern int (*lioproc)(); 58 extern flag leof; 59 extern ioflag lquit,l_first; 60 extern int lcount,line_len; 61