]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/mqv/zvdobk.F
Changes needed by ICC/IFC compiler (Intel)
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqv / zvdobk.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.1.1.1 1996/03/06 10:47:13 mclareni
6* Zebra
7*
8*
9#include "zebra/pilot.h"
10 SUBROUTINE ZVDOBK
11
12C- Subsidiary to ZVERIF, check the links of one bank
13
14#include "zebra/zstate.inc"
15#include "zebra/zunit.inc"
16#include "zebra/mqsys.inc"
17#include "zebra/mzcn.inc"
18#include "zebra/zvfwkc.inc"
19C-------------- End CDE --------------
20 EQUIVALENCE (NL,NBKNN(2)), (NS,NBKNN(3))
21 CHARACTER CHWK*24, CHYN(4)*1
22
23#include "zebra/q_jbit.inc"
24 DATA CHYN / 'n', 'y', 'i', '.' /
25
26#if defined(CERNLIB_QDEVZE)
27 IF (NQDEVZ.GE.11) CALL ZVFPRI
28#endif
29
30C---- Check all links
31
32 JLNK = -2
33 22 JLNK = JLNK + 1
34 IF (JLNK.GT.NL) GO TO 61
35 LINK = LQ(KQS+LBKLS-JLNK)
36 IF (LINK.EQ.0) GO TO 22
37#if defined(CERNLIB_QDEVZE)
38 IF (NQDEVZ.GE.11) WRITE (IQLOG,9823) JLNK,LINK
39 9823 FORMAT (16X,'Link number',I6,' is=',I10)
40#endif
41 IF (LINK.LT.LSTOLO) GO TO 37
42 IF (LINK.GE.LSTOHI) GO TO 37
43
44 IF (LINK.GE.LDIVLO .AND. LINK.LT.LDIVHI) GO TO 24
45 JDV = MZFDIV (-7,LINK)
46 IF (JDV.EQ.0) GO TO 31
47 IF (JLNK.EQ.0) GO TO 33
48 IF (JBIT(MASKTO,JDV).EQ.0) GO TO 41
49
50 24 IF (JLNK.GT.NS) GO TO 22
51
52C-- Check structural link
53
54 CALL MZCHLS (-7,LINK)
55 IF (IQFOUL.EQ.0) GO TO 22
56
57 NFATAL = NFATAL + 1
58 CALL ZVFPRI
59 IF (JLNK.NE.-1) THEN
60 WRITE (IQLOG,9027) CHWARN,JLNK,LINK
61 ELSE
62 WRITE (IQLOG,9028) CHWARN,LINK
63 ENDIF
64 GO TO 22
65
66 9027 FORMAT (A,'Structural link',I6,' of value',I10,
67 F' does not point to a bank')
68 9028 FORMAT (A,'The "up" link of value',I10,
69 F' does not point to a bank')
70
71C-- Link points into a reserve area
72
73 31 NFATAL = NFATAL + 1
74 CALL ZVFPRI
75 WRITE (IQLOG,9031) CHWARN,JLNK,LINK
76 9031 FORMAT (A,'Link',I6,' of value',I10,
77 F' does not point into a division')
78 GO TO 22
79
80C-- 'next' link points to a different division
81
82 33 NFATAL = NFATAL + 1
83 CALL ZVFPRI
84 WRITE (IQLOG,9033) CHWARN,LINK
85 9033 FORMAT (A,'The "next" link of value',I10,
86 F' points out of the division')
87 GO TO 22
88
89C-- Link points outside the bank region
90
91 37 IF (NQOPTS(1).GE.2) GO TO 22
92 CALL ZVFPRI
93 WRITE (IQLOG,9037) CHWARN,JLNK,LINK
94 9037 FORMAT (A,'Link',I6,' of value',I10,
95 F' does not point into the bank region')
96
97 IF (NQOPTS(1).EQ.0) THEN
98 NFATAL = NFATAL + 1
99 ELSE
100 NWARN = NWARN + 1
101 ENDIF
102 GO TO 22
103
104C-- Link points into non-reference division
105
106 41 NFATAL = NFATAL + 1
107 CALL ZVFPRI
108 WRITE (IQLOG,9041) CHWARN,JLNK,LINK,JDV
109 9041 FORMAT (A,'Link',I6,' of value',I10,' points to division',I3
110 F/10X,'which is not declared in the cross-reference table,')
111
112 CALL MZXRPR (-7)
113 GO TO 22
114
115C------ Check "up" and "origin" of a live bank
116
117 61 IF (IBKXX.NE.0) RETURN
118 LUP = LQ(KQS+LBKLS+1)
119 LORG = LQ(KQS+LBKLS+2)
120 IF (LORG.EQ.0) GO TO 71
121 IF (LORG.LT.IQTABV(KQT+13)) GO TO 64
122 IF (LORG.GT.IQTABV(KQT+14)) GO TO 64
123 IF (LQ(KQS+LORG).NE.LBKLS) GO TO 67
124 RETURN
125
126C-- Origin link illegal
127
128 64 NFATAL = NFATAL + 1
129 CALL ZVFPRI
130 WRITE (IQLOG,9064) CHWARN,LORG
131 RETURN
132
133 9064 FORMAT (A,'Origin link adr=',Z10,'x is out-of-bounds')
134
135C-- LQ(LORG) does not point to the bank
136
137 67 NFATAL = NFATAL + 1
138 CALL ZVFPRI
139 J = LQ(KQS+LORG)
140 WRITE (IQLOG,9067) CHWARN,LORG,J,LBKLS
141 RETURN
142
143 9067 FORMAT (A,'Origin link adr=',Z10 ,'x'
144 F/10X,'value LQ(LORG) =',Z10,'x is not LBK=',Z10,'x')
145
146C-- LORG is zero
147
148 71 IF (LUP.EQ.0) RETURN
149 NWARN = NWARN + 1
150 CALL ZVFPRI
151 WRITE (IQLOG,9071) CHWARN,LUP
152 RETURN
153
154 9071 FORMAT (A,'The "origin" link is zero, but the "up" link is',I10)
155 END
156* ==================================================
157#include "zebra/qcardl.inc"