Learn R Programming

bit64 (version 4.5.2)

runif64: integer64: random numbers

Description

Create uniform random 64-bit integers within defined range

Usage

runif64(n, min = lim.integer64()[1], max = lim.integer64()[2], replace=TRUE)

Value

a integer64 vector

Arguments

n

length of return vector

min

lower inclusive bound for random numbers

max

upper inclusive bound for random numbers

replace

set to FALSE for sampleing from a finite pool, see sample

Author

Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>

Details

For each random integer we call R's internal C interface unif_rand() twice. Each call is mapped to 2^32 unsigned integers. The two 32-bit patterns are concatenated to form the new integer64. This process is repeated until the result is not a NA_INTEGER64.

See Also

runif, hashfun

Examples

Run this code
  runif64(12)
  runif64(12, -16, 16)
  runif64(12, 0, as.integer64(2^60)-1)  # not 2^60-1 !
  var(runif(1e4))
  var(as.double(runif64(1e4, 0, 2^40))/2^40)  # ~ = 1/12 = .08333

  table(sample(16, replace=FALSE))
  table(runif64(16, 1, 16, replace=FALSE))
  table(sample(16, replace=TRUE))
  table(runif64(16, 1, 16, replace=TRUE))

Run the code above in your browser using DataLab