INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF INTEGER NAME(102) INTEGER SAVEL0,STATE(4),I,JUNK INTEGER DUPLX$,GFNARG INTEGER OPEN EXTERNAL QUITU0 SHORTCALL MKONU$(18) INTEGER PARSCL INTEGER AAAAA0(20) INTEGER AAAAB0(58) INTEGER AAAAC0(4) INTEGER JUNK,T1IN INTEGER JUNK,T1IN INTEGER AAAAD0 INTEGER AAAAE0(17) INTEGER AAAAF0(17) INTEGER AAAAG0 INTEGER AAAAH0(4) INTEGER JUNK,T1IN DATA AAAAA0/227,188,242,233,190,234,236,188,242,233,190,238,188,23 *3,231,238,190,243,248,0/ DATA AAAAB0/213,243,225,231,229,186,160,228,240,242,233,238,244,16 *0,251,173,227,160,188,227,239,240,233,229,243,190,252,173,234,252, *173,236,160,188,236,229,238,231,244,232,190,252,173,243,252,173,24 *8,253,160,219,188,230,233,236,229,190,221,0/ DATA AAAAC0/5,-11819,-13868,-23392/ DATA AAAAE0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,170,238,0/ DATA AAAAF0/170,243,186,160,227,225,238,167,244,160,239,240,229,23 *8,170,238,0/ DATA AAAAH0/5,-11819,-13868,-23392/ IF((PARSCL(AAAAA0,A$BUF).NE.-3))GOTO 10000 CALL ERROR(AAAAB0) 10000 IF((A$BUF(227-225+1).EQ.2))GOTO 10001 A$BUF(227-225+27)=1 10001 IF((A$BUF(236-225+1).EQ.2))GOTO 10002 A$BUF(236-225+27)=66 10002 CALL MKLB$F($1,QUITL0) CALL MKONU$(AAAAC0,LOC(QUITU0)) SAVEL0=DUPLX$(-1) JUNK=DUPLX$(OR(SAVEL0,:140000)) CALL SETDE0(0,0,1) POSAA0=1 LINEA0=1 CHUNK0=0 DIREC0=0 OUTST0=.FALSE. CALL T1OU(141) CHUNK0=CHUNK0+(1) IF((A$BUF(248-225+1).NE.0))GOTO 10003 CALL T1OU(140) CHUNK0=CHUNK0+(1) IF((A$BUF(243-225+1).EQ.0))GOTO 10004 IF((.NOT.OUTST0))GOTO 10005 10006 IF((T1IN(JUNK).EQ.134))GOTO 10007 GOTO 10006 10007 CONTINUE 10005 CHUNK0=0 OUTST0=.FALSE. CALL T1OU(135) 10008 IF((T1IN(JUNK).EQ.134))GOTO 10009 GOTO 10008 10009 CONTINUE 10004 CONTINUE 10003 STATE(1)=1 10010 AAAAD0=GFNARG(NAME,STATE) GOTO 10011 10014 FDAAA0=OPEN(NAME,1) IF((FDAAA0.EQ.-3))GOTO 10015 I=1 GOTO 10018 10016 I=I+(1) 10018 IF((I.GT.A$BUF(227-225+27)))GOTO 10017 CALL DPRINT CALL REWIND(FDAAA0) GOTO 10016 10017 CALL CLOSE(FDAAA0) GOTO 10020 10015 CALL PRINT(-15,AAAAE0,NAME) 10019 GOTO 10020 10021 CALL PRINT(-15,AAAAF0,NAME) GOTO 10020 10011 AAAAG0=AAAAD0+4 GOTO(10021,10014,10013),AAAAG0 10020 CONTINUE GOTO 10010 10013 CALL OUTCH(141) 1 CALL RVONU$(AAAAH0) IF((.NOT.OUTST0))GOTO 10022 10023 IF((T1IN(JUNK).EQ.134))GOTO 10024 GOTO 10023 10024 CONTINUE 10022 IF((FDAAA0.EQ.-10))GOTO 10025 CALL CLOSE(FDAAA0) 10025 CALL SETDE0(4,180,90) JUNK=DUPLX$(SAVEL0) CALL SWT END SUBROUTINE DPRINT INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF INTEGER BUF(1000) INTEGER I,J,K,START,SIZE,LEN INTEGER INBUF 10026 IF((INBUF(BUF,LEN,START,SIZE).EQ.-1))GOTO 10027 IF((SIZE.NE.0))GOTO 10028 CALL OUTCH(138) GOTO 10026 10028 IF((POSAA0-START.LE.SIZE-POSAA0))GOTO 10030 CALL T1OU(155) CALL T1OU(182) CHUNK0=CHUNK0+(2) DIREC0=1 IF((POSAA0.EQ.SIZE))GOTO 10031 CALL T1OU(155) CALL T1OU(137) CALL T1OU(SIZE) CHUNK0=CHUNK0+(3) POSAA0=SIZE 10031 I=LEN GOTO 10034 10032 I=I-(1) 10034 IF((I.LT.START))GOTO 10033 K=0 J=I GOTO 10037 10035 J=J-(1) 10037 IF((BUF(J).NE.160))GOTO 10036 K=K+(1) GOTO 10035 10036 IF((K.LE.3))GOTO 10038 CALL T1OU(155) CALL T1OU(137) CALL T1OU(POSAA0-K) CHUNK0=CHUNK0+(3) POSAA0=POSAA0-(K) I=J 10038 IF((POSAA0.LE.0))GOTO 10039 CALL OUTCH(BUF(I)) 10039 IF((BUF(I).NE.136))GOTO 10040 POSAA0=POSAA0+(1) GOTO 10032 10040 IF((BUF(I).EQ.10))GOTO 10042 IF((BUF(I).EQ.11))GOTO 10042 POSAA0=POSAA0-(1) 10042 CONTINUE 10041 GOTO 10032 10033 CALL OUTCH(138) GOTO 10043 10030 CALL T1OU(155) CALL T1OU(181) CHUNK0=CHUNK0+(2) DIREC0=0 IF((POSAA0.EQ.START))GOTO 10044 CALL T1OU(155) CALL T1OU(137) CALL T1OU(START) CHUNK0=CHUNK0+(3) POSAA0=START 10044 I=START GOTO 10047 10045 I=I+(1) 10047 IF((I.GT.LEN))GOTO 10046 K=0 J=I GOTO 10050 10048 J=J+(1) 10050 IF((BUF(J).NE.160))GOTO 10049 K=K+(1) GOTO 10048 10049 IF((K.LE.3))GOTO 10051 CALL T1OU(155) CALL T1OU(137) CALL T1OU(POSAA0+K) CHUNK0=CHUNK0+(3) POSAA0=POSAA0+(K) I=J 10051 IF((POSAA0.LE.0))GOTO 10052 CALL OUTCH(BUF(I)) 10052 IF((BUF(I).NE.136))GOTO 10053 POSAA0=POSAA0-(1) GOTO 10045 10053 IF((BUF(I).EQ.10))GOTO 10055 IF((BUF(I).EQ.11))GOTO 10055 POSAA0=POSAA0+(1) 10055 CONTINUE 10054 GOTO 10045 10046 CALL OUTCH(138) 10043 CONTINUE 10029 GOTO 10026 10027 IF((A$BUF(234-225+1).EQ.0))GOTO 10056 IF((LINEA0.LE.1))GOTO 10056 CALL OUTCH(140) 10056 RETURN END INTEGER FUNCTION INBUF(BUF,LEN,START,SIZE) INTEGER BUF(1000) INTEGER LEN,START,SIZE INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF INTEGER L,K,I INTEGER GETLIN L=GETLIN(BUF,FDAAA0) IF((L.NE.-1))GOTO 10057 INBUF=L RETURN 10057 CONTINUE 10058 IF((BUF(L).EQ.138))GOTO 10059 IF((L.GE.1000-102))GOTO 10059 K=GETLIN(BUF(L+1),FDAAA0) IF((K.NE.-1))GOTO 10060 GOTO 10059 10060 L=L+(K) GOTO 10058 10059 LEN=L-1 GOTO 10063 10061 LEN=LEN-(1) 10063 IF((LEN.LE.0))GOTO 10062 IF((BUF(LEN).EQ.160))GOTO 10061 GOTO 10062 10062 START=1 GOTO 10067 10065 START=START+(1) 10067 IF((START.GT.LEN))GOTO 10066 IF((BUF(START).EQ.160))GOTO 10065 GOTO 10066 10066 SIZE=0 I=1 GOTO 10071 10069 I=I+(1) 10071 IF((I.GT.LEN))GOTO 10070 IF((BUF(I).NE.136))GOTO 10072 SIZE=SIZE-(1) GOTO 10069 10072 IF((BUF(I).EQ.10))GOTO 10074 IF((BUF(I).EQ.11))GOTO 10074 SIZE=SIZE+(1) 10074 CONTINUE 10073 GOTO 10069 10070 INBUF=L RETURN END SUBROUTINE OUTCH(C) INTEGER C INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF INTEGER SALPHA(7),SBETA(11),SDELTA(7),SDELT0(19),SEPSI0(5),SETA(13 *),SGAMMA(5),SGAMM0(18),SINFI0(11),SINTE0(26),SLAMB0(17),SLAMC0(11) *,SMU(13),SNABLA(19),SNOT(9),SNU(9),SOMEGA(9),SOMEG0(12),SPART0(13) *,SPHI(3),SPHIA0(4),SPSI(17),SPSIA0(18),SPI(12),SPIAA0(20),SRHO(11) *,SSIGMA(9),SSIGM0(14),STAU(12),STHETA(3),STHET0(3),SXI(15),SZETA(1 *2) LOGICAL OUTSU0 INTEGER JUNK,T1IN INTEGER JUNK,T1IN INTEGER JUNK,T1IN INTEGER JUNK,T1IN INTEGER JUNK,T1IN INTEGER AAAAI0 INTEGER AAAAJ0 DATA OUTSU0/.FALSE./ DATA SALPHA/8,227,32,32,168,8,0/,SBETA/194,8,8,10,10,252,32,32,11, *11,0/,SDELTA/239,11,11,188,10,10,0/,SDELT0/8,8,175,10,10,10,173,32 *,32,32,32,173,11,11,11,220,8,8,0/,SEPSI0/227,10,173,11,0/,SETA/238 *,32,32,10,10,10,252,8,8,11,11,11,0/,SGAMMA/169,32,175,8,0/,SGAMM0/ *8,8,252,32,32,11,11,11,173,10,10,10,32,32,224,8,8,0/,SINFI0/8,8,22 *7,32,32,32,32,239,8,8,0/,SINTE0/252,167,32,32,224,8,8,8,10,10,10,1 *0,10,10,167,8,224,32,32,11,11,11,11,11,11,0/,SLAMB0/220,10,10,10,8 *,167,10,8,167,11,11,11,11,11,32,32,0/,SLAMC0/8,8,175,32,32,32,32,2 *20,8,8,0/,SMU/245,8,8,10,10,10,252,11,11,11,32,32,0/,SNABLA/8,8,22 *0,11,11,11,173,32,32,32,32,173,10,10,10,175,8,8,0/,SNOT/173,32,32, *11,172,10,8,8,0/,SNU/8,168,32,32,32,175,8,8,0/,SOMEGA/8,245,32,32, *32,245,8,8,0/,SOMEG0/207,10,10,8,173,32,32,173,8,11,11,0/,SPART0/2 *39,32,10,224,8,11,224,8,11,224,32,10,0/,SPHI/239,252,0/,SPHIA0/239 *,219,221,0/,SPSI/175,173,10,10,32,32,167,8,8,8,8,167,32,32,11,11,0 */,SPSIA0/219,221,173,10,32,32,167,8,8,8,8,10,224,32,32,11,11,0/,SP *I/11,173,10,10,10,162,10,162,11,11,11,0/,SPIAA0/8,8,219,221,32,32, *32,32,219,221,8,8,11,11,11,173,10,10,10,0/,SRHO/239,8,8,10,10,252, *11,11,32,32,0/,SSIGMA/239,10,32,32,254,11,8,8,0/,SSIGM0/190,10,10, *173,11,11,11,11,11,173,10,10,10,0/,STAU/244,10,32,32,254,8,8,8,254 *,32,11,0/,STHETA/207,173,0/,STHET0/207,189,0/,SXI/227,32,10,172,8, *11,11,11,227,8,10,224,32,10,0/,SZETA/227,32,10,172,8,11,11,11,188, *10,10,0/ IF((CHUNK0.LT.72))GOTO 10075 CALL BREAK$(1) IF((.NOT.OUTST0))GOTO 10076 10077 IF((T1IN(JUNK).EQ.134))GOTO 10079 GOTO 10077 10076 OUTST0=.TRUE. 10079 CALL T1OU(131) CHUNK0=0 CALL BREAK$(0) 10075 IF((C.NE.140))GOTO 10080 CHUNK0=CHUNK0+(1) CALL T1OU(140) IF((A$BUF(243-225+1).EQ.0))GOTO 10081 IF((.NOT.OUTST0))GOTO 10082 10083 IF((T1IN(JUNK).EQ.134))GOTO 10084 GOTO 10083 10084 CONTINUE 10082 CHUNK0=0 OUTST0=.FALSE. CALL T1OU(135) 10085 IF((T1IN(JUNK).EQ.134))GOTO 10086 GOTO 10085 10086 CONTINUE 10081 LINEA0=1 OUTSU0=.FALSE. GOTO 10087 10080 IF((C.NE.138))GOTO 10088 LINEA0=LINEA0+(1) IF((LINEA0.LE.A$BUF(236-225+27)))GOTO 10089 CHUNK0=CHUNK0+(1) CALL T1OU(140) IF((A$BUF(243-225+1).EQ.0))GOTO 10090 IF((.NOT.OUTST0))GOTO 10091 10092 IF((T1IN(JUNK).EQ.134))GOTO 10093 GOTO 10092 10093 CONTINUE 10091 CHUNK0=0 OUTST0=.FALSE. CALL T1OU(135) 10094 IF((T1IN(JUNK).EQ.134))GOTO 10095 GOTO 10094 10095 CONTINUE 10090 LINEA0=1 OUTSU0=.FALSE. GOTO 10097 10089 OUTSU0=.TRUE. 10096 GOTO 10097 10088 IF((.NOT.OUTSU0))GOTO 10098 OUTSU0=.FALSE. CALL T1OU(155) CALL T1OU(139) CALL T1OU(LINEA0) CHUNK0=CHUNK0+(3) 10098 AAAAI0=C GOTO 10099 10100 CALL PLOTS0(SALPHA) GOTO 10101 10102 CALL PLOTS0(SBETA) GOTO 10101 10103 CALL PLOTS0(SDELTA) GOTO 10101 10104 CALL PLOTS0(SDELT0) GOTO 10101 10105 CALL PLOTS0(SEPSI0) GOTO 10101 10106 CALL PLOTS0(SETA) GOTO 10101 10107 CALL PLOTS0(SGAMMA) GOTO 10101 10108 CALL PLOTS0(SGAMM0) GOTO 10101 10109 CALL PLOTS0(SINFI0) GOTO 10101 10110 CALL PLOTS0(SINTE0) GOTO 10101 10111 CALL PLOTS0(SLAMB0) GOTO 10101 10112 CALL PLOTS0(SLAMC0) GOTO 10101 10113 CALL PLOTS0(SMU) GOTO 10101 10114 CALL PLOTS0(SNABLA) GOTO 10101 10115 CALL PLOTS0(SNOT) GOTO 10101 10116 CALL PLOTS0(SNU) GOTO 10101 10117 CALL PLOTS0(SOMEGA) GOTO 10101 10118 CALL PLOTS0(SOMEG0) GOTO 10101 10119 CALL PLOTS0(SPART0) GOTO 10101 10120 CALL PLOTS0(SPHI) GOTO 10101 10121 CALL PLOTS0(SPHIA0) GOTO 10101 10122 CALL PLOTS0(SPSI) GOTO 10101 10123 CALL PLOTS0(SPSIA0) GOTO 10101 10124 CALL PLOTS0(SPI) GOTO 10101 10125 CALL PLOTS0(SPIAA0) GOTO 10101 10126 CALL PLOTS0(SRHO) GOTO 10101 10127 CALL PLOTS0(SSIGMA) GOTO 10101 10128 CALL PLOTS0(SSIGM0) GOTO 10101 10129 CALL PLOTS0(STAU) GOTO 10101 10130 CALL PLOTS0(STHETA) GOTO 10101 10131 CALL PLOTS0(STHET0) GOTO 10101 10132 CALL PLOTS0(SXI) GOTO 10101 10133 CALL PLOTS0(SZETA) GOTO 10101 10134 CALL T1OU(155) IF((DIREC0.NE.0))GOTO 10135 CALL T1OU(213) GOTO 10136 10135 CALL T1OU(196) 10136 CHUNK0=CHUNK0+(2) GOTO 10101 10137 CALL T1OU(155) IF((DIREC0.NE.0))GOTO 10138 CALL T1OU(196) GOTO 10139 10138 CALL T1OU(213) 10139 CHUNK0=CHUNK0+(2) GOTO 10101 10099 AAAAJ0=AAAAI0-9 GOTO(10134,10137),AAAAJ0 AAAAJ0=AAAAI0-42 GOTO(10110,10140,10119,10140,10140,10140,10140,10140,10124, * 10125,10140,10140,10140,10109,10140,10140,10140,10140,10140, * 10140,10140,10140,10140,10140,10140,10104,10140,10140,10108,10131 *,10140,10140,10140,10112,10140,10140,10140,10121,10140,10140,10128 *,10140,10140,10140,10118,10140,10123,10140,10140,10140,10140,10114 *,10140,10140,10100,10102,10140,10103,10105,10140,10107,10130,10140 *,10140,10140,10111,10140,10106,10140,10120,10140,10126,10127,10129 *,10113,10116,10117,10132,10122,10133,10140,10140,10140,10115),AAAA *J0 10140 CALL T1OU(C) CHUNK0=CHUNK0+(1) 10101 CONTINUE 10097 CONTINUE 10087 RETURN END SUBROUTINE PLOTS0(STR) INTEGER STR(1) INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF INTEGER I INTEGER JUNK,T1IN INTEGER AAAAK0 INTEGER AAAAL0 CALL BREAK$(1) CALL T1OU(155) CALL T1OU(179) CHUNK0=CHUNK0+(2) I=1 GOTO 10143 10141 I=I+(1) 10143 IF((STR(I).EQ.0))GOTO 10142 IF((CHUNK0.LT.72))GOTO 10144 IF((.NOT.OUTST0))GOTO 10145 10146 IF((T1IN(JUNK).EQ.134))GOTO 10148 GOTO 10146 10145 OUTST0=.TRUE. 10148 CALL T1OU(131) CHUNK0=0 10144 AAAAK0=STR(I) GOTO 10149 10150 IF((DIREC0.NE.1))GOTO 10151 CALL T1OU(32) GOTO 10153 10151 CALL T1OU(8) 10152 GOTO 10153 10154 IF((DIREC0.NE.1))GOTO 10155 CALL T1OU(8) GOTO 10153 10155 CALL T1OU(32) 10156 GOTO 10153 10157 CALL T1OU(27) CALL T1OU(10) CHUNK0=CHUNK0+(1) GOTO 10153 10158 CALL T1OU(10) GOTO 10153 10149 AAAAL0=AAAAK0-7 GOTO(10150,10159,10158,10157),AAAAL0 IF(AAAAK0.EQ.32)GOTO 10154 10159 CALL T1OU(STR(I)) 10153 CHUNK0=CHUNK0+(1) GOTO 10141 10142 CALL T1OU(155) CALL T1OU(180) CALL T1OU(160) CHUNK0=CHUNK0+(3) CALL BREAK$(0) RETURN END SUBROUTINE QUITU0(CP) INTEGER * 4 CP INTEGER A$BUF(200) INTEGER POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0 LOGICAL OUTST0 REAL * 8 QUITL0 COMMON /DP$COM/POSAA0,LINEA0,CHUNK0,PAGEL0,FDAAA0,DIREC0,OUTST0,QU *ITL0,A$BUF CALL T1OU(138) CALL PL1$NL(QUITL0) RETURN END SUBROUTINE SETDE0(MINIM0,MAXIM0,SLOPE) INTEGER MINIM0,MAXIM0,SLOPE INTEGER CMD(102) INTEGER AAAAM0(20) DATA AAAAM0/170,172,173,184,245,228,229,236,225,249,160,170,233,16 *0,170,233,160,170,233,0/ CALL ENCODE(CMD,102,AAAAM0,MINIM0,MAXIM0,SLOPE) CALL SYS$$(CMD,-3) RETURN END C ---- Long Name Map ---- C Line linea0 C Outstandingpoll outst0 C Pos posaa0 C sPSI spsia0 C sSIGMA ssigm0 C sPI spiaa0 C sepsilon sepsi0 C sLAMBDA slamc0 C sTHETA sthet0 C plotstr plots0 C sintegral sinte0 C Direction direc0 C Quitlabel quitl0 C outstandinglf outsu0 C Pagelength pagel0 C minimum minim0 C Chunk chunk0 C savelword savel0 C maximum maxim0 C slambda slamb0 C quitunit quitu0 C setdelay setde0 C sGAMMA sgamm0 C sinfinity sinfi0 C sPHI sphia0 C Fd fdaaa0 C spartial spart0 C sOMEGA someg0 C sDELTA sdelt0