.Random.seed <- c(n1, n2, n3)
.Random.seed is an integer vector of length 3, containing the
``seed'' for all random number generation in R. The Wichmann-Hill
generator is used which has a cycle length of 6.9536e12 (=
prod(p-1)/4 where p is the length 3 vector of primes,
below), see p.123 of Applied Statistics (1984) vol.33 which corrects
the original article..Random.seed == r[1:3], where r[i] is in 1:p[i],
and p = (30269, 30307, 30323).
Note: If any of .Random.seed[i] is set to 0, it
will be substituted with 1, in the next call to a random number
generator, such as runif.
A. De Matteis and S. Pagnutti (1993). Long-range Correlation Analysis of the Wichmann-Hill Random Number Generator, Statist. Comput., 3, 67-70.
runif, rnorm, ....
runif(1); .Random.seed; runif(1); .Random.seed
## If there is no seed, a ``random'' new one is created:
rm(.Random.seed); runif(1); .Random.seed
p.WH <- c(30269, 30307, 30323)
a.WH <- c( 171, 172, 170)
R.seed <- function(i.seed = .Random.seed) (a.WH * i.seed) %% p.WH
my.runif1 <- function(i.seed = .Random.seed)
{ ns <- R.seed(i.seed); sum(ns / p.WH) %% 1 }
## This shows how `runif(.)' works, just using R functions :
rs <- .Random.seed
R.seed(rs); u <- runif(1); .Random.seed; c(u, my.runif1(rs))