]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ISAJET/code/timer.F
Merging the VirtualMC branch to the main development branch (HEAD)
[u/mrichter/AliRoot.git] / ISAJET / code / timer.F
1 #include "isajet/pilot.h"
2       SUBROUTINE TIMER(IT)
3 C
4 C          CALL SYSTEM CPU CLOCK -- MACHINE DEPENDENT.
5 C          IT=1 FOR RUN START TIME.
6 C          IT=2 FOR RUN STOP TIME.
7 C
8 #include "isajet/itapes.inc"
9 #include "isajet/times.inc"
10       DIMENSION TIMES(2)
11       EQUIVALENCE (TIMES(1),TIME1)
12       DIMENSION TTT(2)
13 #if defined(CERNLIB_VAX)
14       INTEGER CPUTIM(2),ITMLST(4),NHSEC
15       EXTERNAL JPI$_CPUTIM
16 #endif
17 C
18 C          DEFAULT IS TO RETURN ZERO.
19       TNOW=0.
20 #if (defined(CERNLIB_CDC))&&(defined(CERNLIB_NOCERN))
21 C          SECOND GIVES CPU TIME ON CDC.
22       CALL SECOND(TNOW)
23 #endif
24 #if (defined(CERNLIB_ETA))&&(defined(CERNLIB_NOCERN))
25 C          SECOND GIVES CPU TIME ON ETA.
26       TNOW=SECOND()
27 #endif
28 #if (defined(CERNLIB_IBMRT))&&(defined(CERNLIB_NOCERN))
29 C          MCLOCK GIVES CPU TIME ON IBM RS/6000.
30       TNOW=FLOAT(MCLOCK())/60.
31 #endif
32 #if (defined(CERNLIB_SGI))&&(defined(CERNLIB_NOCERN))
33 C          ETIME GIVES CPU TIME ON SILICON GRAPHICS.
34       TNOW=ETIME(TTT)
35 #endif
36 #if (defined(CERNLIB_SUN))&&(defined(CERNLIB_NOCERN))
37 C          ETIME GIVES CPU TIME ON SUN.
38       TNOW=ETIME(TTT)
39 #endif
40 #if (defined(CERNLIB_VAX))&&(defined(CERNLIB_NOCERN))
41 C          VAX HAS NO FORTRAN FUNCTION FOR CPU TIME.
42 C          FOLLOWING PROVIDED BY T. KILLIAN
43       ITMLST(1)=ISHFT(%LOC(JPI$_CPUTIM),16)+4
44       ITMLST(2)=%LOC(NHSEC)
45       ITMLST(3)=0
46       ITMLST(4)=0
47       CALL SYS$GETJPI(,,,ITMLST,,,)
48       TNOW=.01*NHSEC
49 #endif
50 #if defined(CERNLIB_CERN)
51       CALL TIMEST(1.E7)
52       CALL TIMEX(TNOW)
53 #endif
54       TIMES(IT)=TNOW
55       RETURN
56       END