SUBROUTINE GETT(DEV,FNAME,IEXT,ISUM) COMMON ARRYS DIMENSION IBUF(162),ITRL(2),ARRYS(20) INTEGER DATA(81,3),PTR,HIGH C C CALL OPENI(4,DEV,FNAME,IEXT) CALL READB(4,80,IBUF) LENGTH= IBUF(1)+IBUF(11)*(IBUF(12)+IBUF(13))-79 KTRUN=IBUF(15) 10 ICNT=100 LENGTH=LENGTH-100 IF(LENGTH .LT. 0)ICNT=LENGTH+100 CALL READB(4,ICNT,IBUF) IF(LENGTH .GT. 0)GOTO 10 C C DO 150 I=1,KTRUN CALL READB(4,2,ITRL) CALL FETCH(ARRYS(I),1,81,DATA) IF(ISUM .GT. 0)GOTO 20 DO 20 J=1,81 DATA(J,1)=0 DATA(J,2)=0 DATA(J,3)=0 20 CONTINUE LENGTH= 2*ITRL(2) CALL READB(4,LENGTH,IBUF) K1=1 NUM=DATA(81,1) IEND=ITRL(2) DO 140 L=1,IEND IF(NUM .GT. 0)GOTO 100 NUM=NUM+1 PTR=NUM GOTO 133 100 LOW=1 HIGH=NUM 115 PTR=(LOW+HIGH)/2 IF(IBUF(K1) .LE. DATA(PTR,1))GOTO 120 LOW=PTR+1 GOTO 125 120 IF(IBUF(K1) .EQ. DATA(PTR,1))GOTO 135 HIGH=PTR-1 125 IF(LOW .LT. HIGH)GOTO 115 K=NUM+1 NEND=K NSTRT=PTR+2 DO 130 IDUM=NSTRT,NEND LNXT=K-1 DATA(K,1)=DATA(LNXT,1) DATA(K,2)=DATA(LNXT,2) DATA(K,3)=DATA(LNXT,3) 130 CONTINUE PTR=PTR+1 NUM=NUM+1 133 DATA(PTR,1)=IBUF(K1) DATA(PTR,2)=0 DATA(PTR,3)=0 135 K1=K1+1 INTER= 77B .AND. IBUF(K1) IRSP= (7700B .AND. IBUF(K1))/64 IF(INTER .EQ. IRSP)DATA(PTR,2)=DATA(PTR,2)+1 DATA(PTR,3)=DATA(PTR,3)+1 K1=K1+1 140 CONTINUE DATA(81,1)=NUM CALL STORE(ARRYS(I),1,81,DATA) 150 CONTINUE RETURN END