Annotation of researchv10dc/cmd/matlab/src/matlab.f, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.