3.1 KiB
3.1 KiB
reviveBasePRNG
Revive a JSON-serialized pseudorandom number generator (PRNG).
Usage
var reviveBasePRNG = require( '@stdlib/random/base/reviver' );
reviveBasePRNG( key, value )
Revives a JSON-serialized pseudorandom number generator (PRNG).
var parseJSON = require( '@stdlib/utils/parse-json' );
var randu = require( '@stdlib/random/base/randu' );
var str = JSON.stringify( randu );
var rand = parseJSON( str, reviveBasePRNG );
// returns <Function>
For details on the JSON serialization format, see the .toJSON()
method for, e.g., randu()
.
Examples
var randu = require( '@stdlib/random/base/randu' );
var parseJSON = require( '@stdlib/utils/parse-json' );
var reviveBasePRNG = require( '@stdlib/random/base/reviver' );
var rand;
var str;
var r1;
var r2;
var i;
// Progress the PRNG state...
for ( i = 0; i < 100; i++ ) {
r1 = randu();
}
// Serialize the PRNG as a JSON string:
str = JSON.stringify( randu );
// Revive the JSON-serialized PRNG:
rand = parseJSON( str, reviveBasePRNG );
if ( rand instanceof Error ) {
console.error( rand.message );
}
// Generate duplicate sequences...
for ( i = 0; i < 100; i++ ) {
r1 = randu();
r2 = rand();
console.log( '%d == %d ? %s', r1, r2, ( r1 === r2 ).toString() );
}