diff options
| author | Marak <[email protected]> | 2017-09-09 17:31:37 -0400 |
|---|---|---|
| committer | Marak <[email protected]> | 2017-09-09 17:31:37 -0400 |
| commit | b198dda5d7a69d19f837aadd35c2ba8efc97a6ed (patch) | |
| tree | 2ed6fe5eea0361a401e55773f032d59e28456d7a | |
| parent | 454c915a8fc12b0550a428aea39ab3563f76fc7c (diff) | |
| download | faker-b198dda5d7a69d19f837aadd35c2ba8efc97a6ed.tar.xz faker-b198dda5d7a69d19f837aadd35c2ba8efc97a6ed.zip | |
Revert "Update Random to create a per-instance copy of the RNG"
This reverts commit 8a33cf0e7a57f8fe766034706d0230802788d1ff.
| -rw-r--r-- | lib/random.js | 18 | ||||
| -rw-r--r-- | test/random.unit.js | 16 |
2 files changed, 3 insertions, 31 deletions
diff --git a/lib/random.js b/lib/random.js index e38b5732..8dccf376 100644 --- a/lib/random.js +++ b/lib/random.js @@ -5,27 +5,15 @@ var mersenne = require('../vendor/mersenne'); * @namespace faker.random */ function Random (faker, seed) { - var gen = new mersenne.MersenneTwister19937(); - // Use a user provided seed if it exists if (seed) { if (Array.isArray(seed) && seed.length) { - gen.init_by_array(seed); + mersenne.seed_array(seed); } else { - gen.init_genrand(seed); + mersenne.seed(seed); } } - - // Copied from the marsenne package for compatibility. - function rand(max, min) { - if (max === undefined) { - min = 0; - max = 32768; - } - return Math.floor(gen.genrand_real2() * (max - min) + min); - } - /** * returns a single random number based on a max number or range * @@ -60,7 +48,7 @@ function Random (faker, seed) { } var randomNumber = Math.floor( - rand(max / options.precision, options.min / options.precision)); + mersenne.rand(max / options.precision, options.min / options.precision)); // Workaround problem in Float point arithmetics for e.g. 6681493 / 0.01 randomNumber = randomNumber / (1 / options.precision); diff --git a/test/random.unit.js b/test/random.unit.js index 9a573277..e10d36be 100644 --- a/test/random.unit.js +++ b/test/random.unit.js @@ -3,7 +3,6 @@ if (typeof module !== 'undefined') { var sinon = require('sinon'); var _ = require('lodash'); var faker = require('../index'); - var Faker = require('../lib'); } @@ -190,19 +189,4 @@ describe("random.js", function () { assert.ok(hex.match(/^(0x)[0-9a-f]+$/i)); }) }) - - describe('independent', function() { - - it('generates independent sequences', function () { - var faker1 = new Faker(); - faker1.seed(1); - - var faker2 = new Faker(); - faker2.seed(1); - - assert.equal(faker1.random.number(), faker2.random.number()); - }) - - }) - }); |
