iRNGStream: Iterators that support parallel RNG

Description Usage Arguments See Also Examples

Description

The iRNGStream function creates an infinite iterator that calls nextRNGStream repeatedly, and iRNGSubStream creates an infinite iterator that calls nextRNGSubStream repeatedly.

Usage

1
2

Arguments

seed

Either a single number to be passed to set.seed or a vector to be passed to nextRNGStream or nextRNGSubStream.

See Also

set.seed, nextRNGStream, nextRNGSubStream

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
it <- iRNGStream(313)
print(nextElem(it))
print(nextElem(it))

## Not run: 
library(foreach)
foreach(1:3, rseed=iRNGSubStream(1970), .combine='c') %dopar% {
  RNGkind("L'Ecuyer-CMRG") # would be better to initialize workers only once
  assign('.Random.seed', rseed, pos=.GlobalEnv)
  runif(1)
}

## End(Not run)

Example output

Loading required package: iterators
[1]         407  -148706266   816896415  -423200657    64647451 -1536586263
[7]    64930425
[1]         407   147611069   397195254   280483519 -1571776966 -1788649533
[7]  -335749277
[1] 0.9200322 0.9857821 0.9834940
Warning message:
executing %dopar% sequentially: no parallel backend registered 

itertools documentation built on May 2, 2019, 2:26 p.m.