Annotation of researchv10no/cmd/pfort/OUT2.f, revision 1.1

1.1     ! root        1:       SUBROUTINE OUT2(ISR)
        !             2:       INTEGER SYMLEN, PNODE, BL, PLAT, STACK, Q(3), C(12),
        !             3:      *    OUTLAT, OUTCOM, OUTUT
        !             4:       LOGICAL ERR, SYSERR, ABORT
        !             5:       EXTERNAL EXCH
        !             6:       COMMON /PARAMS/ INUT, OUTUT, NOCHAR, SYMLEN, I1, I2, II1
        !             7:       COMMON /DETECT/ ERR, SYSERR, ABORT
        !             8:       COMMON /GRAPH/ LLAT, PLAT, LAT(6000)
        !             9:       COMMON /CEXPRS/ LSTACK, STACK(620)
        !            10:       COMMON /HEAD/ LNODE, PNODE, NODE(500)
        !            11:       COMMON /SCR1/ LINODE, INODE(500)
        !            12:       DATA C(1) /1HE/, C(2) /1HD/, C(3) /1HR/, C(4) /1HI/, C(5) /1HC/,
        !            13:      *    C(6) /1HL/, C(7) /1HS/, C(8) /1HA/, C(9) /1HF/, IP /1HP/, IBL
        !            14:      *    /1H-/, C(12) /1HU/, C(10) /1HB/, C(11) /1HN/
        !            15:       DATA BL /1H /
        !            16: C
        !            17: C     ROUTINE PRINTS CALLING GRAPH
        !            18: C
        !            19:       IF (PNODE.LE.2) GO TO 110
        !            20: C
        !            21: C     GRAPH
        !            22: C
        !            23:       I3 = PNODE - 1
        !            24:       IF (ISR.NE.0) I3 = I3 - 1
        !            25: C
        !            26: C     SORT LATTICE
        !            27: C
        !            28:       DO 10 I=1,I3
        !            29:         INODE(I) = IABS(NODE(I))
        !            30:    10 CONTINUE
        !            31:       CALL SSORT(EXCH, LAT, LLAT, INODE, I3, 0)
        !            32:       DO 100 IA=1,I3
        !            33:         I = INODE(IA)
        !            34:         L = I + SYMLEN + 6
        !            35:         IF (MOD(LAT(L),8).EQ.4) GO TO 100
        !            36:         CALL S5UNPK(LAT(I), STACK(1), 6)
        !            37:         WRITE (OUTUT,99999) (STACK(L),L=1,6)
        !            38: 99999   FORMAT (///1X, 6A1//)
        !            39: C
        !            40: C     GET ARGS IF ANY
        !            41: C
        !            42:         IS = 1
        !            43:         K = SYMLEN + I
        !            44:         L = LAT(K)
        !            45:         IF (L) 70, 70, 20
        !            46:    20   K = K + 1
        !            47:         K = LAT(K)
        !            48:         IF (L*8.GT.LSTACK) GO TO 120
        !            49:         DO 60 LL=1,L
        !            50:           Q(1) = IGATT2(K,8)
        !            51:           IF (Q(1).EQ.5 .OR. Q(1).EQ.6 .OR. Q(1).EQ.13) GO TO 30
        !            52:           Q(1) = IGATT2(K,1)
        !            53:           Q(2) = IGATT2(K,5)
        !            54:           Q(3) = IGATT2(K,7)
        !            55:           STACK(IS) = IBL
        !            56:           STACK(IS+2) = IBL
        !            57:           IF (Q(1).GE.8) STACK(IS) = C(1)
        !            58:           L1 = MOD(Q(1),8) + 2
        !            59:           STACK(IS+1) = C(L1)
        !            60:           IF (Q(2).EQ.1) STACK(IS+2) = C(7)
        !            61:           STACK(IS+3) = C(7)
        !            62:           IF (Q(3).NE.0) STACK(IS+3) = C(8)
        !            63:           GO TO 40
        !            64:    30     STACK(IS) = IP
        !            65:           STACK(IS+1) = IBL
        !            66:           STACK(IS+2) = IBL
        !            67:           STACK(IS+3) = IBL
        !            68:    40     DO 50 LK=4,7
        !            69:             L1 = LK + IS
        !            70:             STACK(L1) = BL
        !            71:    50     CONTINUE
        !            72:           IS = IS + 8
        !            73:           K = LAT(K+3)
        !            74:    60   CONTINUE
        !            75:       IS = IS - 1
        !            76: C     PRINT ARGUMENTS
        !            77:       K = 48
        !            78:       IF (K.GT.IS) K = IS
        !            79:       WRITE(OUTUT,99998)(STACK(LK), LK=1,K)
        !            80: 99998 FORMAT(20H ARGUMENT ATTRIBUTES ,5X,6(8A1,1X))
        !            81:       IF( K.EQ.IS ) GOTO 70
        !            82:  65   LK = K + 1
        !            83:       K = LK + 47
        !            84:       IF(K.GT.IS) K = IS
        !            85:       WRITE(OUTUT,99997) (STACK(L1),L1=LK,K)
        !            86: 99997 FORMAT(25X,6(8A1,1X))
        !            87:       IF(K.LT.IS) GOTO 65
        !            88: C
        !            89: C     GET COMMON NAMES
        !            90: C
        !            91:    70   K = I + SYMLEN + 2
        !            92:         K = OUTCOM(LAT(K),IS)
        !            93:         IF (SYSERR) GO TO 110
        !            94:         IF (K.EQ.0) GO TO 80
        !            95:       CALL OUT2A(14H COMMON BLOCKS, 14, IS, 2)
        !            96: C
        !            97: C     FIND PARENTS
        !            98: C
        !            99:    80   K = I + SYMLEN + 3
        !           100:         K = OUTLAT(LAT(K),IS,ISR)
        !           101:         IF (SYSERR) GO TO 110
        !           102:         IF (K.EQ.0) GO TO 90
        !           103:       CALL OUT2A(22H CALLED BY SUBPROGRAMS, 22, IS, 1)
        !           104: C
        !           105: C     FIND DESCENDENTS
        !           106: C
        !           107:    90   K = I + SYMLEN + 4
        !           108:         K = OUTLAT(LAT(K),IS,ISR)
        !           109:         IF (SYSERR) GO TO 110
        !           110:         IF (K.EQ.0) GO TO 100
        !           111:       CALL OUT2A(18H CALLS SUBPROGRAMS, 18, IS, 1)
        !           112:   100 CONTINUE
        !           113:   110 RETURN
        !           114:   120 SYSERR = .TRUE.
        !           115:       CALL ERROR1(33H IN OUT2, TABLE OVERFLOW OF STACK, 33)
        !           116:       GO TO 110
        !           117:       END

unix.superglobalmegacorp.com

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