|
|
1.1 ! root 1: SUBROUTINE MATLAB(INIT) ! 2: C INIT = 0 FOR ORDINARY FIRST ENTRY ! 3: C = POSITIVE FOR SUBSEQUENT ENTRIES ! 4: C = NEGATIVE FOR SILENT INITIALIZATION (SEE MATZ) ! 5: C ! 6: DOUBLE PRECISION STKR(50005),STKI(50005) ! 7: INTEGER IDSTK(4,48),LSTK(48),MSTK(48),NSTK(48),VSIZE,LSIZE,BOT,TOP ! 8: INTEGER ALFA(52),ALFB(52),ALFL,CASE ! 9: INTEGER IDS(4,32),PSTK(32),RSTK(32),PSIZE,PT,PTZ ! 10: INTEGER DDT,ERR,FMT,LCT(4),LIN(1024),LPT(6),RIO,WIO,RTE,WTE,HIO ! 11: INTEGER SYM,SYN(4),BUF(256),CHAR,FLP(2),FIN,FUN,LHS,RHS,RAN(2) ! 12: COMMON /VSTK/ STKR,STKI,IDSTK,LSTK,MSTK,NSTK,VSIZE,LSIZE,BOT,TOP ! 13: COMMON /ALFS/ ALFA,ALFB,ALFL,CASE ! 14: COMMON /RECU/ IDS,PSTK,RSTK,PSIZE,PT,PTZ ! 15: COMMON /IOP/ DDT,ERR,FMT,LCT,LIN,LPT,RIO,WIO,RTE,WTE,HIO ! 16: COMMON /COM/ SYM,SYN,BUF,CHAR,FLP,FIN,FUN,LHS,RHS,RAN ! 17: C ! 18: DOUBLE PRECISION S,T ! 19: INTEGER EPS(4),FLOPS(4),EYE(4),RAND(4) ! 20: C ! 21: C CHARACTER SET ! 22: C 0 10 20 30 40 50 ! 23: C ! 24: C 0 0 A K U COLON : LESS < ! 25: C 1 1 B L V PLUS + GREAT > ! 26: C 2 2 C M W MINUS - ! 27: C 3 3 D N X STAR * ! 28: C 4 4 E O Y SLASH / ! 29: C 5 5 F P Z BSLASH \\ ! 30: C 6 6 G Q BLANK EQUAL = ! 31: C 7 7 H R LPAREN ( DOT . ! 32: C 8 8 I S RPAREN ) COMMA , ! 33: C 9 9 J T SEMI ; QUOTE ' ! 34: C ! 35: INTEGER ALPHA(52),ALPHB(52) ! 36: DATA ALPHA /1H0,1H1,1H2,1H3,1H4,1H5,1H6,1H7,1H8,1H9, ! 37: $ 1HA,1HB,1HC,1HD,1HE,1HF,1HG,1HH,1HI,1HJ, ! 38: $ 1HK,1HL,1HM,1HN,1HO,1HP,1HQ,1HR,1HS,1HT, ! 39: $ 1HU,1HV,1HW,1HX,1HY,1HZ,1H ,1H(,1H),1H;, ! 40: $ 1H:,1H+,1H-,1H*,1H/,1H\\,1H=,1H.,1H,,1H', ! 41: $ 1H<,1H>/ ! 42: C ! 43: C ALTERNATE CHARACTER SET ! 44: C ! 45: DATA ALPHB /1H0,1H1,1H2,1H3,1H4,1H5,1H6,1H7,1H8,1H9, ! 46: $ 1Ha,1Hb,1Hc,1Hd,1He,1Hf,1Hg,1Hh,1Hi,1Hj, ! 47: $ 1Hk,1Hl,1Hm,1Hn,1Ho,1Hp,1Hq,1Hr,1Hs,1Ht, ! 48: $ 1Hu,1Hv,1Hw,1Hx,1Hy,1Hz,1H ,1H(,1H),1H;, ! 49: $ 1H|,1H+,1H-,1H*,1H/,1H$,1H=,1H.,1H,,1H", ! 50: $ 1H[,1H]/ ! 51: C ! 52: DATA EPS/14,25,28,36/,FLOPS/15,21,24,25/ ! 53: DATA EYE/14,34,14,36/,RAND/27,10,23,13/ ! 54: C ! 55: IF (INIT .GT. 0) GO TO 90 ! 56: C ! 57: C RTE = UNIT NUMBER FOR TERMINAL INPUT ! 58: C WTE = UNIT NUMBER FOR TERMINAL OUTPUT ! 59: C HIO = UNIT NUMBER FOR HELP FILE ! 60: C ! 61: RTE = 5 ! 62: WTE = 6 ! 63: HIO = 9 ! 64: RIO = RTE ! 65: WIO = 0 ! 66: C ! 67: IF (INIT .GE. 0) WRITE(WTE,100) ! 68: 100 FORMAT(//0X,' < M A T L A B >' ! 69: $ /0X,' Version of 11/01/83') ! 70: C ! 71: C ASK HELPER TO OPEN HELP FILE ! 72: BUF(1) = 0 ! 73: CALL HELPER(BUF) ! 74: C ! 75: C RANDOM NUMBER SEED ! 76: RAN(1) = 0 ! 77: C ! 78: C INITIAL LINE LIMIT ! 79: LCT(2) = 25000 ! 80: C ! 81: ALFL = 52 ! 82: CASE = 1 ! 83: C CASE = 1 for file names in lower case ! 84: DO 20 I = 1, ALFL ! 85: ALFA(I) = ALPHA(I) ! 86: ALFB(I) = ALPHB(I) ! 87: 20 CONTINUE ! 88: C ! 89: VSIZE = 50005 ! 90: LSIZE = 48 ! 91: PSIZE = 32 ! 92: BOT = LSIZE-3 ! 93: CALL WSET(5,0.0D0,0.0D0,STKR(VSIZE-4),STKI(VSIZE-4),1) ! 94: CALL PUTID(IDSTK(1,LSIZE-3),EPS) ! 95: LSTK(LSIZE-3) = VSIZE-4 ! 96: MSTK(LSIZE-3) = 1 ! 97: NSTK(LSIZE-3) = 1 ! 98: S = 1.0D0 ! 99: 30 S = S/2.0D0 ! 100: T = 1.0D0 + S ! 101: IF (T .GT. 1.0D0) GO TO 30 ! 102: STKR(VSIZE-4) = 2.0D0*S ! 103: CALL PUTID(IDSTK(1,LSIZE-2),FLOPS) ! 104: LSTK(LSIZE-2) = VSIZE-3 ! 105: MSTK(LSIZE-2) = 1 ! 106: NSTK(LSIZE-2) = 2 ! 107: CALL PUTID(IDSTK(1,LSIZE-1), EYE) ! 108: LSTK(LSIZE-1) = VSIZE-1 ! 109: MSTK(LSIZE-1) = -1 ! 110: NSTK(LSIZE-1) = -1 ! 111: STKR(VSIZE-1) = 1.0D0 ! 112: CALL PUTID(IDSTK(1,LSIZE), RAND) ! 113: LSTK(LSIZE) = VSIZE ! 114: MSTK(LSIZE) = 1 ! 115: NSTK(LSIZE) = 1 ! 116: FMT = 1 ! 117: FLP(1) = 0 ! 118: FLP(2) = 0 ! 119: DDT = 0 ! 120: RAN(2) = 0 ! 121: PTZ = 0 ! 122: PT = PTZ ! 123: ERR = 0 ! 124: IF (INIT .LT. 0) RETURN ! 125: C ! 126: 90 CALL PARSE ! 127: IF (FUN .EQ. 1) CALL MATFN1 ! 128: IF (FUN .EQ. 2) CALL MATFN2 ! 129: IF (FUN .EQ. 3) CALL MATFN3 ! 130: IF (FUN .EQ. 4) CALL MATFN4 ! 131: IF (FUN .EQ. 5) CALL MATFN5 ! 132: IF (FUN .EQ. 6) CALL MATFN6 ! 133: IF (FUN .EQ. 21) CALL MATFN1 ! 134: IF (FUN .NE. 99) GO TO 90 ! 135: RETURN ! 136: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.