Random number generation with the Gnu Scientific Library, as per the reference manual section 17
rng_alloc(type)rng_clone(r)rng_name(r)rng_max(r)rng_min(r)rng_set(r, seed)rng_get(r, length)rng_uniform(r, length)rng_uniform_int(r, N, length)rng_uniform_pos(r, length)
Arguments
type: In function rng_alloc(), type of random number generator. This argument is taken to be a character string which is matched to the names of the random number generators given in the GSL manual section 17.9, with the initial ‘gsl_rng_’ removed (for example, to use generator gsl_rng_ranlux, set type to ranlux). Partial matching is used; a null string is interpreted as mt19937.
r: Instance of a random number generator. Generate this using function rng_alloc().
seed: Random number seed
length: Length of vector of random numbers to create
N: In function rng_uniform_int(), upper bound of uniform distribution
Details
These are wrappers for the random number generator functions from the GSL https://www.gnu.org/software/gsl/ with arguments corresponding to those from the library. Calling rng_free is not necessary as R performs garbage collection automatically.
The functions that return random numbers (rng_get, rng_uniform, rng_uniform_int, rng_uniform_pos) take an extra argument that specifies the length of the vector of random numbers to be returned.
Returns
Function rng_alloc() returns an external pointer to a GSL random number generator.