C*-*-*BEGIN0 SUBROUTINE BEGIN0 c c RMARG is set to 80. c CHI is set to 156 to enable use of the Extended Character Set, c also dimensions of ACODE, SCODE, and LCODE set to 156. c Character card associated with unit 1 by the call OPENN(1, 0). c PRNTR set to OUNIT+1 so that (132a1) format always used for c output, since Unix Fortran doesn't have carriage control. c C BEGIN0,INPUT,OPENN,SLMARG INTEGER CLOCK COMMON/ZACODE/ACODE(156) /ZAPOS/APOS /ZCHI/CHI /ZCUNIT/CUNIT x/ZECHO X/ECHO /ZEJECT/EJECT /ZIBUFF/IBUFF(80) /ZIPOS/IPOS /ZISIZE/ISIZE /Z XIUNIT/IUNIT /ZLCODE/LCODE(156) /ZMUNIT/MUNIT /ZOLINE/OLINE x/ZOUNIT/ XOUNIT /ZPRNTR/PRNTR /ZRMARG/RMARG /ZSCODE/SCODE(156) /ZTAU0/TAU0 INTEGER ACODE,APOS,C,CHI,CHI3,CHI33,CUNIT,D,ECHO,EJECT,I,IBUFF,IDU XM,IPOS,ISIZE,IUNIT,IUNOLD,J,J1Y,J2Y,J3Y,J4Y,J5Y,J6Y,J7Y,J8Y,LCODE, XMUNIT,OLINE,OUNIT,PRNTR,RMARG,S,SCODE,T,TAU0 7 TAU0=CLOCK(IDUM ) 2 CHI=156 3 IUNIT=5 ISIZE=80 IPOS=ISIZE ECHO=0 CUNIT=1 4 MUNIT=6 OUNIT=6 PRNTR=OUNIT+1 CALL SLMARG(0) RMARG=80 OLINE=0 EJECT=0 APOS=0 5 CHI3=CHI/3 CHI33=2*CHI3 IUNOLD=IUNIT IUNIT=CUNIT CALL OPENN( 1 , 0 ) CALL INPUT I=1 J1Y=CHI3 9 IF(I.GT.J1Y)GO TO 10 LCODE(I)=IBUFF(I) SCODE(I)=LCODE(I) ACODE(I)=I-1 I=I+1 GO TO 9 10 CALL INPUT I=CHI3+1 J3Y=CHI33 11 IF(I.GT.J3Y)GO TO 12 J2Y=I-CHI3 LCODE(I)=IBUFF(J2Y) SCODE(I)=LCODE(I) J2Y=I-CHI3 ACODE(I)=J2Y-1 I=I+1 GO TO 11 12 CALL INPUT I=CHI33+1 J4Y=CHI 13 IF(I.GT.J4Y)GO TO 14 J2Y=I-CHI33 LCODE(I)=IBUFF(J2Y) SCODE(I)=LCODE(I) J2Y=I-CHI33 ACODE(I)=J2Y-1 I=I+1 GO TO 13 14 IUNIT=IUNOLD J=CHI-1 J2Y=CHI-2 J6Y=J2Y-J 27 IF(J6Y.GE.0)GO TO 28 J7Y=-1 GO TO 29 28 IF(J6Y.LE.0)GO TO 30 J7Y=1 GO TO 29 30 J7Y=0 29 SIGN=J7Y 31 J2Y=J7Y*J J8Y=J7Y*1 IF(J2Y.GT.J8Y)GO TO 8 I=1 J5Y=J 25 IF(I.GT.J5Y)GO TO 26 C=SCODE(I) D=SCODE(I+1) 15 IF(C.GE.0)GO TO 16 S=-1 GO TO 17 16 IF(C.LE.0)GO TO 18 S=1 GO TO 17 18 S=0 17 SIGN=S 19 IF(D.GE.0)GO TO 20 T=-1 GO TO 21 20 IF(D.LE.0)GO TO 22 T=1 GO TO 21 22 T=0 21 SIGN=T IF(S.GT.T)GO TO 24 IF(S.NE.T)GO TO 23 IF(C.LE.D)GO TO 23 24 SCODE(I)=D SCODE(I+1)=C C=ACODE(I) ACODE(I)=ACODE(I+1) ACODE(I+1)=C 23 I=I+1 GO TO 25 26 J=J+J6Y GO TO 31 8 RETURN END #Jf