| Sys.unsetenv("R_PARALLEL_PORT") |
| |
| check.RS <- function(verbose = TRUE) { |
| s1 <- get0(".Random.seed", envir = .GlobalEnv, inherits = FALSE) |
| if(verbose) { cat("current .Random.seed :\n"); utils::str(s1) } |
| if(any("parallel" == loadedNamespaces())) unloadNamespace("parallel") |
| loadNamespace("parallel") |
| s2 <- get0(".Random.seed", envir = .GlobalEnv, inherits = FALSE) |
| stopifnot(all.equal(s1, s2)) ## both NULL (if there was none); equal also otherwise |
| unloadNamespace("parallel") |
| invisible(s1) |
| } |
| |
| s1 <- check.RS() |
| for(n in 1:3) check.RS(verbose=FALSE) |
| |
| if(is.null(s1)) { ## create one |
| runif(1) |
| } else { # remove it |
| rm(.Random.seed) |
| } |
| s2 <- check.RS() |
| |
| stopifnot(xor(is.null(s1), |
| is.null(s2))) |