]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MINICERN/packlib/zebra/mqg/mztabm.F
Use tgt_ prefix for binary target directories
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / mqg / mztabm.F
CommitLineData
fe4da5cc 1*
2* $Id$
3*
4* $Log$
5* Revision 1.2 1996/04/18 16:12:47 mclareni
6* Incorporate changes from J.Zoll for version 3.77
7*
8* Revision 1.1.1.1 1996/03/06 10:47:20 mclareni
9* Zebra
10*
11*
12#include "zebra/pilot.h"
13 SUBROUTINE MZTABM
14
15C- Construct Memory Occupation table with one entry for
16C- each division, setting actions according to :
17C- MQDVGA division bits for garbage collection
18C- MQDVWI for wipe
19C-
20C- Return division bits for all active divisions in MQDVAC
21
22#include "zebra/zstate.inc"
23#include "zebra/zunit.inc"
24#include "zebra/mqsys.inc"
25#include "zebra/mzct.inc"
26C-------------- End CDE --------------
27#if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
28 DIMENSION NAMESR(2)
29 DATA NAMESR / 4HMZTA, 4HBM /
30#endif
31#if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
32 DATA NAMESR / 6HMZTABM /
33#endif
34#if !defined(CERNLIB_QTRHOLL)
35 CHARACTER NAMESR*8
36 PARAMETER (NAMESR = 'MZTABM ')
37#endif
38
39#include "zebra/q_jbit.inc"
40#include "zebra/q_sbit1.inc"
41
42
43#include "zebra/qtrace.inc"
44
45 LQMTBR = 0
46 IQTBIT = IQDROP
47 IQTVAL = 0
48 NQFREE = 0
49 IQPART = 0
50 MQDVAC = 0
51 IQFLIO = 0
52
53 IF (JQSTMV.LT.0) THEN
54 IQTNMV = 0
55 JQDVM1 = 0
56 JQDVM2 = 0
57 NQDVMV = 0
58 ENDIF
59
60 JQGAPM = 0
61 JQGAPR = 0
62 LQMTE = LQWKTB + NQWKTB - 1
63 LQMTA = LQMTE - 160
64 LQMTB = LQMTA
65 LQRTE = LQMTA - 10
66 LQTC2 = LQRTE
67 LQRTA = LQWKTB
68 LQTA = LQRTA + 1
69 LQTE = LQTA
70 LQTC1 = LQTA
71
72#if defined(CERNLIB_QDEVZE)
73 IF (NQDEVZ.GE.11) WRITE (IQLOG,9828) LQRTA,LQRTE,LQMTA,LQMTE
74 9828 FORMAT (1X/' DEVZE MZTABM, LQRTA,LQRTE,LQMTA,LQMTE=',4I9)
75#endif
76
77C---- Loop all divisions
78
79 LMT = LQMTA
80 JDIV = 1
81
82 32 LQ(LMT) = JDIV
83 LQ(LMT+1) = 0
84 LQ(LMT+2) = 0
85 LQ(LMT+3) = LQSTA(KQT+JDIV)
86 LQ(LMT+4) = LQEND(KQT+JDIV)
87 LQ(LMT+5) = 0
88 LQ(LMT+6) = 0
89 LQ(LMT+7) = 0
90 NW = LQ(LMT+4) - LQ(LMT+3)
91 IF (NW.EQ.0) GO TO 37
92 NQDSIZ(KQT+JDIV) = MAX (NQDSIZ(KQT+JDIV),NW)
93 IF (JBIT(MQDVWI,JDIV).NE.0) GO TO 41
94 IF (JBIT(MQDVGA,JDIV).NE.0) GO TO 44
95 GO TO 48
96
97C-- Division is empty
98
99 37 LQ(LMT+1) = -1
100 GO TO 48
101
102C-- Division for wipe
103
104 41 IF (JDIV.EQ.JQDVSY) GO TO 48
105 LQ(LMT+1) = 4
106 GO TO 45
107
108C-- Division with garbage collection
109
110 44 LQ(LMT+1) = 3
111 45 MQDVAC = MSBIT1 (MQDVAC,JDIV)
112
113 48 LMT = LMT + 8
114 JDIV = JDIV + 1
115 IF (JDIV.EQ.JQDVLL+1) JDIV=JQDVSY
116 IF (JDIV.LT.21) GO TO 32
117 LQMTE = LMT
118 LQMTLU = LMT
119 LQ(LQMTE) = 21
120#if defined(CERNLIB_QDEVZE)
121 IF (NQDEVZ.LT.11) GO TO 999
122 WRITE (IQLOG,9849) LQMTE,MQDVGA,MQDVWI,MQDVAC
123 WRITE (IQLOG,9850)
124 WRITE (IQLOG,9851) (LQ(J),J=LQMTA,LQMTE-1)
125 9850 FORMAT (16X,' DIV ACT NWS LF LE+1')
126 9851 FORMAT (16X,3I4,2I8,3I4)
127#endif
128#if (defined(CERNLIB_QDEVZE))&&(defined(CERNLIB_HEX))
129 9849 FORMAT (1X/' DEVZE MZTABM, LQMTE,MQDVGA,MQDVWI,MQDVAC='
130 F,5X,I8,3(2X,Z8))
131#endif
132#if (defined(CERNLIB_QDEVZE))&&(!defined(CERNLIB_HEX))
133 9849 FORMAT (1X/' DEVZE MZTABM, LQMTE,MQDVGA,MQDVWI,MQDVAC='
134 F,5X,I8,3(2X,O11))
135#endif
136#include "zebra/qtrace99.inc"
137 RETURN
138 END
139* ==================================================
140#include "zebra/qcardl.inc"