]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HERWIG/src/hwrgen.f
Private copy constructors and assignment operators without implementation (Effective...
[u/mrichter/AliRoot.git] / HERWIG / src / hwrgen.f
CommitLineData
3820ca8e 1
2CDECK ID>, HWR.
3
4*CMZ :- -26/04/91 12.42.30 by Federico Carminati
5
6*-- Author : F. James, modified by Mike Seymour
7
8C-----------------------------------------------------------------------
9
10 FUNCTION HWRGEN(I)
11
12C-----------------------------------------------------------------------
13
14C MAIN RANDOM NUMBER GENERATOR
15
16C USES METHOD OF l'Ecuyer, (VIA F.JAMES, COMP PHYS COMM 60(1990)329)
17
18C-----------------------------------------------------------------------
19
20 IMPLICIT NONE
21
22 DOUBLE PRECISION HWRGEN,HWRSET,HWRGET
23
24 INTEGER I,ISEED(2),K,IZ,JSEED(2)
25
26 SAVE ISEED
27
28 DATA ISEED/12345,67890/
29
30 K=ISEED(1)/53668
31
32 ISEED(1)=40014*(ISEED(1)-K*53668)-K*12211
33
34 IF (ISEED(1).LT.0) ISEED(1)=ISEED(1)+2147483563
35
36 K=ISEED(2)/52774
37
38 ISEED(2)=40692*(ISEED(2)-K*52774)-K*3791
39
40 IF (ISEED(2).LT.0) ISEED(2)=ISEED(2)+2147483399
41
42 IZ=ISEED(1)-ISEED(2)
43
44 IF (IZ.LT.1) IZ=IZ+2147483562
45
46 HWRGEN=DBLE(IZ)*4.656613001013252D-10
47
48C---> (4.656613001013252D-10 = 1.D0/2147483589)
49
50 RETURN
51
52C-----------------------------------------------------------------------
53
54 ENTRY HWRSET(JSEED)
55
56C-----------------------------------------------------------------------
57
58 IF (JSEED(1).EQ.0.OR.JSEED(2).EQ.0) CALL HWWARN('HWRSET',99,*999)
59
60 ISEED(1)=JSEED(1)
61
62 ISEED(2)=JSEED(2)
63
64 HWRSET=0.0D0
65
66 999 RETURN
67
68C-----------------------------------------------------------------------
69
70 ENTRY HWRGET(JSEED)
71
72C-----------------------------------------------------------------------
73
74 JSEED(1)=ISEED(1)
75
76 JSEED(2)=ISEED(2)
77
78 HWRGET=0.0D0
79
80 RETURN
81
82 END