Mostly minor style modifications to be ready for cloning with EMCAL
[u/mrichter/AliRoot.git] / MINICERN / packlib / zebra / jz91 / jzend.F
1 *
2 * $Id$
3 *
4 * $Log$
5 * Revision 1.2  1996/04/18 16:11:04  mclareni
6 * Incorporate changes from J.Zoll for version 3.77
7 *
8 * Revision 1.1.1.1  1996/03/06 10:47:16  mclareni
9 * Zebra
10 *
11 *
12 #include "zebra/pilot.h"
13       SUBROUTINE JZEND
14
15 C-    PRINT PROCESSOR SUMMARY
16
17 #include "zebra/mzcn.inc"
18 #include "zebra/zbcd.inc"
19 #include "zebra/zunit.inc"
20 #include "zebra/mqsys.inc"
21 #include "zebra/jzuc.inc"
22 #include "zebra/jzc.inc"
23 C--------------    END CDE                             -----------------  ------
24       DIMENSION    IDV(5), IDSHV(2), TIMEV(3)
25       EQUIVALENCE (IDV(1),  IQUEST(1))
26       EQUIVALENCE (IDSHV(1),IQUEST(1))
27       EQUIVALENCE (TIMEV(1), IQUEST(6))
28
29       DIMENSION    NUMS(10)
30       EQUIVALENCE (NUMS(1),IQNUM2(2))
31 #if (defined(CERNLIB_QTRHOLL))&&(!defined(CERNLIB_A6M))
32       DIMENSION    NAMESR(2)
33       DATA  NAMESR / 4HJZEN, 4HD    /
34 #endif
35 #if (defined(CERNLIB_QTRHOLL))&&(defined(CERNLIB_A6M))
36       DATA  NAMESR / 6HJZEND  /
37 #endif
38 #if !defined(CERNLIB_QTRHOLL)
39       CHARACTER    NAMESR*8
40       PARAMETER   (NAMESR = 'JZEND   ')
41 #endif
42
43 #include "zebra/q_jbit.inc"
44 #include "zebra/q_jbyt.inc"
45
46       DATA  MYES   / 4H T   /
47
48       IF (LQJZ.EQ.0)               RETURN
49
50 #include "zebra/qtraceq.inc"
51 #include "zebra/qstorjz.inc"
52
53       CALL MZCHLS (-7,LQJZ)
54       IF (IQFOUL.EQ.0)             GO TO 12
55       WRITE (IQLOG,9000) LQJZ
56 #include "zebra/qtrace99.inc"
57       RETURN
58
59    12 CALL JZROOT
60
61       WRITE (IQLOG,9001)
62       WRITE (IQLOG,9002) NUMS
63
64       IFLAG = 0
65    21 LSV = LQJZ - 3
66    22 LSV = LQ(KQS+LSV)
67       IF (LSV.EQ.0)  THEN
68           IF (JQTIME.EQ.0)         GO TO 999
69           IF (IFLAG .NE.0)         GO TO 999
70           WRITE (IQLOG,9003)
71           IFLAG = 7
72           GO TO 21
73         ENDIF
74
75       LCR = LSV + JQNACC
76       NCR = IULAST (0,IQ(KQS+LCR+1),IQ(KQS+LCR)) + 1
77       LLC = LCR + IQ(KQS+LCR)
78
79       IQUEST(1) = IQ(KQS+LLC+1)
80       IQUEST(2) = IQBLAN
81       IF (JBIT(IQ(KQS+LSV),17).NE.0)  IQUEST(2)=MYES
82       IQUEST(3) = JBYT(IQ(KQS+LSV),1,8)
83       IQUEST(4) = IQ(KQS+LSV+1)
84       IQUEST(5) = IQ(KQS+LSV+2)
85       IF (IFLAG .NE.0)             GO TO 24
86       WRITE (IQLOG,9008) IDV,(IQ(KQS+J+LCR-1),J=1,NCR)
87       GO TO 22
88
89    24 IQUEST(1) = IQUEST(4)
90       IQUEST(2) = IQUEST(5)
91       IF (IQUEST(2).LE.0)          GO TO 22
92       Q(KQS+LSV+8) = Q(KQS+LSV+8) + Q(KQS+LSV+5)
93       Q(KQS+LSV+7) = Q(KQS+LSV+7) + Q(KQS+LSV+8)
94       Q(KQS+LSV+5) = 0.
95       Q(KQS+LSV+8) = 0.
96       TIMEV(1) = Q(KQS+LSV+7)
97       TIMEV(2) = Q(KQS+LSV+6)
98       TIMEV(3) = TIMEV(1)/FLOAT(IQUEST(2))
99       WRITE (IQLOG,9009) IDSHV,TIMEV
100       GO TO 22
101
102  9000 FORMAT (/' JZEND.   Bad address LQJZ = ',I6)
103  9001 FORMAT (/' JZEND.   Summary of processor usage'/1X)
104  9002 FORMAT ('   NAN T LV Name  Calls   Conditions'
105      F/7X,1HT,20X,1HN,10(6X,A1))
106  9003 FORMAT (/12X,'Name  Calls    Total  Maximum     Mean time')
107  9008 FORMAT (/1X,I5,A2,I3,1X,A4,I7,I6,10I7,:/(29X,10I7))
108  9009 FORMAT (/12X,A4,I7,F9.1,2F9.4)
109       END
110 *      ==================================================
111 #include "zebra/qcardl.inc"