pcg_basic


pcg_basic, a C code which returns a sequence of uniformly distributed pseudorandom numbers, by Melissa O'Neill.

This code provides a minimal implementation of one member of the PCG family of random number generators, which are fast, statistically excellent, and offer a number of useful features.

Licensing:

The computer code and data files described and made available on this web page are distributed under the APACHE license.

Languages:

pcg_basic is available in a C version.

Author:

Melissa O'Neill

Related Data and Programs:

asa183, a C code which implements the Wichman-Hill pseudorandom number generator.

c_random_test, C codes which illustrate the use of C's random number generator routines.

hammersley, a C code which computes elements of a Hammersley Quasi Monte Carlo (QMC) sequence, using a simple interface.

latin_random, a C code which computes a Latin Hypercube in M dimensions of N points, randomly placed within their subsquares.

normal, a C code which computes elements of a sequence of pseudorandom normally distributed values.

pcg_basic_test

pcg_minimal, a C code which is a minimal implementation of a permuted congruential generator (PCG) of random numbers, by Melissa O'Neill.

randlc, a C code which generates a sequence of pseudorandom numbers, used by the NAS Benchmark programs.

random_sorted, a C code which generates vectors of random values which are already sorted.

ranlib, a C code which produces random samples from Probability Density Functions (PDF's), including Beta, Chi-square Exponential, F, Gamma, Multivariate normal, Noncentral chi-square, Noncentral F, Univariate normal, random permutations, Real uniform, Binomial, Negative Binomial, Multinomial, Poisson and Integer uniform, by Barry Brown and James Lovato.

rbox, a C code which generates a set of points in a region, selected at random according to a given distribution.

rnglib, a C code which implements a random number generator (RNG) with splitting facilities, allowing multiple independent streams to be computed, by L'Ecuyer and Cote.

uniform, a C code which computes elements of uniform pseudorandom sequence.

van_der_corput, a C code which computes elements of a 1D van der Corput Quasi Monte Carlo (QMC) sequence using a simple interface.

ziggurat, a C code which computes elements of uniform, normal or exponential pseudorandom sequence using the ziggurat method.

Reference:

  1. https://www.pcg-random.org the PCG-Random website.
  2. Melissa O'Neill
    PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation.

Source Code:


Last revised on 23 July 2019.