time-to-botec/squiggle/node_modules/@stdlib/random/base
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00
..
arcsine feat: add the node modules 2022-12-03 12:44:49 +00:00
bernoulli feat: add the node modules 2022-12-03 12:44:49 +00:00
beta feat: add the node modules 2022-12-03 12:44:49 +00:00
betaprime feat: add the node modules 2022-12-03 12:44:49 +00:00
binomial feat: add the node modules 2022-12-03 12:44:49 +00:00
box-muller feat: add the node modules 2022-12-03 12:44:49 +00:00
cauchy feat: add the node modules 2022-12-03 12:44:49 +00:00
chi feat: add the node modules 2022-12-03 12:44:49 +00:00
chisquare feat: add the node modules 2022-12-03 12:44:49 +00:00
cosine feat: add the node modules 2022-12-03 12:44:49 +00:00
discrete-uniform feat: add the node modules 2022-12-03 12:44:49 +00:00
docs/types feat: add the node modules 2022-12-03 12:44:49 +00:00
erlang feat: add the node modules 2022-12-03 12:44:49 +00:00
exponential feat: add the node modules 2022-12-03 12:44:49 +00:00
f feat: add the node modules 2022-12-03 12:44:49 +00:00
frechet feat: add the node modules 2022-12-03 12:44:49 +00:00
gamma feat: add the node modules 2022-12-03 12:44:49 +00:00
geometric feat: add the node modules 2022-12-03 12:44:49 +00:00
gumbel feat: add the node modules 2022-12-03 12:44:49 +00:00
hypergeometric feat: add the node modules 2022-12-03 12:44:49 +00:00
improved-ziggurat feat: add the node modules 2022-12-03 12:44:49 +00:00
include/stdlib/random feat: add the node modules 2022-12-03 12:44:49 +00:00
invgamma feat: add the node modules 2022-12-03 12:44:49 +00:00
kumaraswamy feat: add the node modules 2022-12-03 12:44:49 +00:00
laplace feat: add the node modules 2022-12-03 12:44:49 +00:00
levy feat: add the node modules 2022-12-03 12:44:49 +00:00
lib feat: add the node modules 2022-12-03 12:44:49 +00:00
logistic feat: add the node modules 2022-12-03 12:44:49 +00:00
lognormal feat: add the node modules 2022-12-03 12:44:49 +00:00
minstd feat: add the node modules 2022-12-03 12:44:49 +00:00
minstd-shuffle feat: add the node modules 2022-12-03 12:44:49 +00:00
mt19937 feat: add the node modules 2022-12-03 12:44:49 +00:00
negative-binomial feat: add the node modules 2022-12-03 12:44:49 +00:00
normal feat: add the node modules 2022-12-03 12:44:49 +00:00
pareto-type1 feat: add the node modules 2022-12-03 12:44:49 +00:00
poisson feat: add the node modules 2022-12-03 12:44:49 +00:00
randi feat: add the node modules 2022-12-03 12:44:49 +00:00
randn feat: add the node modules 2022-12-03 12:44:49 +00:00
randu feat: add the node modules 2022-12-03 12:44:49 +00:00
rayleigh feat: add the node modules 2022-12-03 12:44:49 +00:00
reviver feat: add the node modules 2022-12-03 12:44:49 +00:00
src feat: add the node modules 2022-12-03 12:44:49 +00:00
t feat: add the node modules 2022-12-03 12:44:49 +00:00
triangular feat: add the node modules 2022-12-03 12:44:49 +00:00
uniform feat: add the node modules 2022-12-03 12:44:49 +00:00
weibull feat: add the node modules 2022-12-03 12:44:49 +00:00
manifest.json feat: add the node modules 2022-12-03 12:44:49 +00:00
package.json feat: add the node modules 2022-12-03 12:44:49 +00:00
README.md feat: add the node modules 2022-12-03 12:44:49 +00:00

Pseudorandom Number Generators

Standard library base pseudorandom number generators (PRNGs).

Usage

var random = require( '@stdlib/random/base' );

random

Standard library base pseudorandom number generators (PRNGs).

var ns = random;
// returns {...}

The namespace contains the following PRNGs:

Attached to each PRNG are the following properties:

  • NAME: the generator name.
  • seed: the value used to seed the PRNG.
  • seedLength: the length of the PRNG seed.
  • state: the PRNG state.
  • stateLength: the length of the PRNG state.
  • byteLength: the size of the PRNG state.
  • PRNG: the underlying pseudorandom number generator.

Additionally, attached to each PRNG is a .factory() method which supports creating a seeded PRNG and thus generating a reproducible sequence of pseudorandom numbers.

var rand;
var v;
var i;

// Generate pseudorandom values...
for ( i = 0; i < 100; i++ ) {
    v = random.randu();
}

// Generate the same pseudorandom values...
rand = random.randu.factory({
    'seed': random.randu.seed
});
for ( i = 0; i < 100; i++ ) {
    v = rand();
}

For parameterized PRNGs, the .factory() method supports specifying parameters upon either PRNG creation or invocation. For example,

// Create a PRNG which requires providing parameters at each invocation:
var rand = random.normal.factory({
    'seed': 12345
});

var r = rand( 1.0, 2.0 );
// returns <number>

// Create a PRNG with fixed parameters:
rand = random.normal.factory( 1.0, 2.0, {
    'seed': 12345
});

r = rand();
// returns <number>

Examples

var objectKeys = require( '@stdlib/utils/keys' );
var random = require( '@stdlib/random/base' );

console.log( objectKeys( random ) );