]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/dzebra/dzioph.F
Changes needed by ICC/IFC compiler (Intel)
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / dzebra / dzioph.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.2 1996/04/24 17:26:11 mclareni
6* Extend the include file cleanup to dzebra, rz and tq, and also add
7* dependencies in some cases.
8*
9* Revision 1.1.1.1 1996/03/06 10:47:06 mclareni
10* Zebra
11*
12*
13*-----------------------------------------------------------
14#include "zebra/pilot.h"
15#if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
16#include "zebra/debugvf1.inc"
17#endif
18 SUBROUTINE DZIOPH (IFIRST,ILAST)
19 SAVE KFOTYP
20#include "zebra/mqsys.inc"
21#include "zebra/qequ.inc"
22#include "zebra/mzioc.inc"
23#include "zebra/zbcdk.inc"
24#include "zebra/zunit.inc"
25#include "zebra/dzc1.inc"
26#include "zebra/bkfoparq.inc"
27
28 CHARACTER CHROUT*(*),CHSTAK*6,KFOTYP(0:11)*1
29#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
30 CHARACTER CDWORD*36
31#endif
32#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
33 CHARACTER CDWORD*20
34#endif
35 DOUBLE PRECISION DWORD
36 INTEGER IWORD
37 REAL RWORD
38 EQUIVALENCE (DWORD,IWORD,RWORD)
39 PARAMETER (CHROUT = 'DZIOPH')
40 DATA KFOTYP /'U','B','I','F','D','H','*','S','*','N','*','L'/
41
42#if (defined(CERNLIB_DEBUGON))&&(defined(CERNLIB_VFORT))
43#include "zebra/debugvf2.inc"
44#endif
45
46
47
48
49
50
51
52 CHSTAK = CQSTAK(MCQSIQ:)
53 CQSTAK(MCQSIQ:) = CHROUT
54
55 CALL ZPAGE(IQPRNT,MIN((ILAST-IFIRST)/10+2,5))
56 CQLINE = ' -------- DATA part of bank --------'
57 IF (IFLOPT(MPOSQQ).EQ.0) CALL DZTEXT(0,CDUMMQ,1)
58
59 WRITE (CQLINE,'(1X,I7,'' /'',120X)') IFIRST
60 INLINE =11
61
62 JDATA = 0
63 JFOCUR = 0
64 NWPRNT = 0
65
66
67 10 ITYPE = MFO(JFOCUR+1)
68 IF (ITYPE.EQ.7) GO TO 40
69 NWSEC = MFO(JFOCUR+2)
70 IF (NWSEC) 20, 30, 60
71
72
73 20 NWSEC = ILAST - JDATA
74 GO TO 60
75
76
77 30 JDATA = JDATA + 1
78 IWORD = IQ(KQS+LS+JDATA)
79 NWSEC = IWORD
80 IF (JDATA.GE.IFIRST) THEN
81#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
82 WRITE(CQLINE(INLINE:INLINE+19),'('' *'',A1,''('',I15,'')'')')
83 + KFOTYP(MIN(ITYPE,6)),NWSEC
84#endif
85#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
86 WRITE(CQLINE(INLINE:INLINE+11),'('' *'',A1,''('', I7,'')'')')
87 + KFOTYP(MIN(ITYPE,6)),NWSEC
88#endif
89 NWPRNT = NWPRNT + 1
90 ENDIF
91 GO TO 50
92
93
94 40 JDATA = JDATA + 1
95 IWORD = IQ(KQS+LS+JDATA)
96 ITYPE = MOD (IWORD,16)
97 NWSEC = IWORD/16
98 IF (JDATA.GE.IFIRST) THEN
99#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
100 WRITE(CQLINE(INLINE:INLINE+19),'('' *S('',A1,'','',I13,'')'')')
101#endif
102#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
103 WRITE(CQLINE(INLINE:INLINE+11),'('' *S('',A1,'','', I5,'')'')')
104#endif
105 + KFOTYP(MIN(ITYPE,6)),NWSEC
106 NWPRNT = NWPRNT + 1
107 ENDIF
108
109 50 IF (JDATA.GE.IFIRST) THEN
110#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
111 IF (MOD(NWPRNT,6).EQ.0) THEN
112#endif
113#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
114 IF (MOD(NWPRNT,10).EQ.0) THEN
115#endif
116 IF (IFLOPT(MPOSQQ).NE.0) GO TO 999
117 CALL DZTEXT(0,CDUMMQ,1)
118 WRITE (CQLINE,'(1X,I7,'' /'',120X)') NWPRNT+IFIRST
119 INLINE =11
120 ELSE
121#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
122 INLINE = INLINE + 20
123#endif
124#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
125 INLINE = INLINE + 12
126#endif
127 ENDIF
128 ENDIF
129
130 IF (ITYPE.GE.8) THEN
131 ITYPE = 0
132 NWSEC = ILAST - JDATA
133 IQUEST(11) = -ITYPE
134 ELSEIF (NWSEC.EQ.0) THEN
135 ITYPE = 0
136 GO TO 900
137 ELSEIF (NWSEC.LT.0) THEN
138 ITYPE = 0
139 NWSEC = ILAST - JDATA
140 IQUEST(11) = -ITYPE-32
141 ENDIF
142
143
144 60 IDBLE = 0
145 DO 100 I=MAX(JDATA+1,IFIRST),MIN(JDATA+NWSEC,ILAST)
146 IWORD = IQ(KQS+LS+I)
147 IF (IDBLE.EQ.1) THEN
148#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
149 WRITE(CQLINE(INLINE:INLINE+19),'(A,'')'')') CDWORD(18:)
150#endif
151#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
152 WRITE(CQLINE(INLINE:INLINE+11),'(A,'')'')') CDWORD(10:)
153#endif
154 IDBLE = 0
155 ELSEIF (ITYPE.EQ.IFOHOQ) THEN
156#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
157 WRITE(CQLINE(INLINE:INLINE+19),'(7X,''"'',A12)') IWORD
158#endif
159#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
160 WRITE(CQLINE(INLINE:INLINE+11),'(7X,''"'',A4)') IWORD
161#endif
162 ELSEIF (ITYPE.EQ.IFOINQ) THEN
163#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
164 WRITE(CQLINE(INLINE:INLINE+19),'(I20)') IWORD
165#endif
166#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
167 WRITE(CQLINE(INLINE:INLINE+11),'(I12)') IWORD
168#endif
169 ELSEIF (ITYPE.EQ.IFOFLQ) THEN
170#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
171 WRITE(CQLINE(INLINE:INLINE+19),'(G20.14)') RWORD
172#endif
173#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
174 WRITE(CQLINE(INLINE:INLINE+11),'(G12.4)') RWORD
175#endif
176 ELSEIF (ITYPE.EQ.IFODOQ) THEN
177 CALL UCOPY(Q(KQS+LS+I),DWORD,2)
178#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
179 WRITE(CDWORD,'(D36.29)') DWORD
180 WRITE(CQLINE(INLINE:INLINE+19),'('' D('',A)') CDWORD(:17)
181#endif
182#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
183 WRITE(CDWORD,'(D20.13)') DWORD
184 WRITE(CQLINE(INLINE:INLINE+11),'('' D('',A)') CDWORD(:9)
185#endif
186 IDBLE = 1
187 ELSE
188#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
189 WRITE(CQLINE(INLINE:INLINE+19),'('' Z '',Z16)') IWORD
190#endif
191#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
192 WRITE(CQLINE(INLINE:INLINE+11),'('' Z '',Z8)') IWORD
193#endif
194 ENDIF
195 NWPRNT = NWPRNT + 1
196
197#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
198 IF (MOD(NWPRNT,6).EQ.0) THEN
199#endif
200#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
201 IF (MOD(NWPRNT,10).EQ.0) THEN
202#endif
203 IF (IFLOPT(MPOSQQ).NE.0) GO TO 999
204 CALL DZTEXT(0,CDUMMQ,1)
205 WRITE (CQLINE,'(1X,I7,'' /'',120X)') NWPRNT+IFIRST
206 INLINE =11
207 ELSE
208#if defined(CERNLIB_QMCRY)||defined(CERNLIB_QMCDC)
209 INLINE = INLINE + 20
210#endif
211#if (!defined(CERNLIB_QMCRY))&&(!defined(CERNLIB_QMCDC))
212 INLINE = INLINE + 12
213#endif
214 ENDIF
215
216 100 CONTINUE
217
218
219 JDATA = JDATA + NWSEC
220
221 IF (JDATA.GE.ILAST) GO TO 900
222
223 IF (JDATA.LT.ILAST) THEN
224 JFOCUR = JFOCUR + 2
225 IF (JFOCUR.LT.JFOEND) GO TO 10
226 JFOCUR = JFOREP
227 GO TO 10
228 ENDIF
229
230
231 900 IF (INLINE.NE.11.AND.IFLOPT(MPOSQQ).EQ.0) CALL DZTEXT(0,CDUMMQ,1)
232
233 999 CQSTAK(MCQSIQ:) = CHSTAK
234 END