quantum_runif = function(n, min = 0.0, max = 1.0,...,
user = getOption("qrng.user"), password = getOption("qrng.password")) {
stopifnot(!is.null(user))
stopifnot(!is.null(password))
ret = .Call("QRNG", as.integer(n), user, password)
min + ret * max
}
setup_QRNG = function(user = getOption("qrng.user"),
password = getOption("qrng.password"), ssl = TRUE, bufsize = 1e5) {
stopifnot(!is.null(user))
stopifnot(!is.null(password))
stopifnot(is.logical(ssl))
stopifnot(bufsize > 0)
.Call("setup_QRNG", user, password, as.integer(ssl), as.integer(bufsize))
RNGkind("user")
}
QRNG_seed = function(user = getOption("qrng.user"),
password = getOption("qrng.password")) {
stopifnot(!is.null(user))
stopifnot(!is.null(password))
.Call("QRNG_seed", user, password)
}
.onUnload <- function(libpath) {
.C("close_QRNG")
library.dynam.unload("qrng", libpath)
}
#.onLoad <- function(lib, pkg) {
.onAttach <- function(lib, pkg) {
tr = try(setup_QRNG(), silent = TRUE)
if (class(tr) != "try-error")
packageStartupMessage(
"Random numbers are now generated by qrng; use RNGkind(\"default\") to revert back.\n")
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.