Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.
  • state: 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 either upon PRNG creation or upon each PRNG 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 getKeys = require( '@stdlib/utils/keys' );
var random = require( '@stdlib/random/base' );

console.log( getKeys( random ) );