1
SUBROUTINE setsd(iseed1,iseed2)
2
C**********************************************************************
4
C SUBROUTINE SETSD(ISEED1,ISEED2)
5
C SET S-ee-D of current generator
7
C Resets the initial seed of the current generator to ISEED1 and
8
C ISEED2. The seeds of the other generators remain unchanged.
10
C This is a transcription from Pascal to Fortran of routine
11
C Set_Seed from the paper
13
C L'Ecuyer, P. and Cote, S. "Implementing a Random Number Package
14
C with Splitting Facilities." ACM Transactions on Mathematical
15
C Software, 17:98-111 (1991)
21
C ISEED1 -> First integer seed
24
C ISEED2 -> Second integer seed
27
C**********************************************************************
32
C .. Scalar Arguments ..
35
C .. Scalars in Common ..
36
INTEGER a1,a1vw,a1w,a2,a2vw,a2w,m1,m2
38
C .. Arrays in Common ..
39
INTEGER cg1(numg),cg2(numg),ig1(numg),ig2(numg),lg1(numg),
46
C .. External Functions ..
50
C .. External Subroutines ..
51
EXTERNAL getcgn,initgn
54
COMMON /globe/m1,m2,a1,a2,a1w,a2w,a1vw,a2vw,ig1,ig2,lg1,lg2,cg1,
57
C .. Save statement ..
60
C .. Executable Statements ..
61
C Abort unless random number generator initialized
62
IF (qrgnin()) GO TO 10
63
call basout(io,wte,"SETSD called before random number generator")
64
call basout(io,wte,"initialized")