|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: * ! 6: * @(#)lio.h 5.3 (Berkeley) 5/13/90 ! 7: */ ! 8: ! 9: /* ! 10: * copy of ftypes from the compiler ! 11: * variable types numeric assumptions: ! 12: * int < reals < complexes ! 13: * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX ! 14: */ ! 15: ! 16: #define TYUNKNOWN 0 ! 17: #define TYADDR 1 ! 18: #define TYSHORT 2 ! 19: #define TYLONG 3 ! 20: #define TYREAL 4 ! 21: #define TYDREAL 5 ! 22: #define TYCOMPLEX 6 ! 23: #define TYDCOMPLEX 7 ! 24: #define TYLOGICAL 8 ! 25: #define TYCHAR 9 ! 26: #define TYSUBR 10 ! 27: #define TYERROR 11 ! 28: ! 29: #define NTYPES (TYERROR+1) ! 30: ! 31: #define LINE 80 ! 32: #define LINTW (strlen(buf)) ! 33: #define LLOGW 3 ! 34: #define LSTRW (len+2) ! 35: #define LLOW 1.0e-1 ! 36: #define LHIGH 1.0e+6 /* 1.0e+LFD */ ! 37: #define LDHIGH 1.0e+14 /* 1.0e+LDFD */ ! 38: #define LFD 6 ! 39: #define LFW (LFD+4) ! 40: #define LDFD 14 ! 41: #define LDFW (LDFD+4) ! 42: #define LED LFD ! 43: #define LEW LFW+4 ! 44: #define LEE 2 ! 45: #define LDED LDFD ! 46: #define LDEW LDFW+4 ! 47: #define LDEE 2 ! 48: #define LCW (width(a)+width(b)+5) ! 49: #define LDCW (dwidth(a)+dwidth(b)+5) ! 50: ! 51: #define abs(z) (z<0?-z:z) ! 52: #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW) ! 53: #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW) ! 54: #define ERR(x) if(n=(x)) err(n>0?errflag:endflag,n,"list io") ! 55: #define ERRCHK(x) if(n=(x)) goto got_err; ! 56: #define chk_len(w) if(recpos+w > line_len) PUT('\n'); ! 57: ! 58: typedef union ! 59: { short flshort; ! 60: ftnint flint; ! 61: float flreal; ! 62: double fldouble; ! 63: } flex; ! 64: ! 65: extern int (*lioproc)(); ! 66: extern flag leof; ! 67: extern ioflag lquit,l_first; ! 68: extern int lcount,line_len;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.