first commit
This commit is contained in:
23
node_modules/random/dist/distributions/bates.js
generated
vendored
Normal file
23
node_modules/random/dist/distributions/bates.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
|
||||
(0, _owLite2.default)(n, _owLite2.default.number.integer.positive);
|
||||
var irwinHall = random.irwinHall(n);
|
||||
|
||||
return function () {
|
||||
return irwinHall() / n;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=bates.js.map
|
||||
1
node_modules/random/dist/distributions/bates.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/bates.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/bates.js"],"names":["random","n","ow","number","integer","positive","irwinHall"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAmB;AAAA,MAAVC,CAAU,uEAAN,CAAM;;AAChC,wBAAGA,CAAH,EAAMC,iBAAGC,MAAH,CAAUC,OAAV,CAAkBC,QAAxB;AACA,MAAMC,YAAYN,OAAOM,SAAP,CAAiBL,CAAjB,CAAlB;;AAEA,SAAO,YAAM;AACX,WAAOK,cAAcL,CAArB;AACD,GAFD;AAGD,C","file":"bates.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, n = 1) => {\n ow(n, ow.number.integer.positive)\n const irwinHall = random.irwinHall(n)\n\n return () => {\n return irwinHall() / n\n }\n}\n"]}
|
||||
22
node_modules/random/dist/distributions/bernoulli.js
generated
vendored
Normal file
22
node_modules/random/dist/distributions/bernoulli.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var p = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.5;
|
||||
|
||||
(0, _owLite2.default)(p, _owLite2.default.number.gte(0).lt(1));
|
||||
|
||||
return function () {
|
||||
return random.next() + p | 0;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=bernoulli.js.map
|
||||
1
node_modules/random/dist/distributions/bernoulli.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/bernoulli.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/bernoulli.js"],"names":["random","p","ow","number","gte","lt","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAqB;AAAA,MAAZC,CAAY,uEAAR,GAAQ;;AAClC,wBAAGA,CAAH,EAAMC,iBAAGC,MAAH,CAAUC,GAAV,CAAc,CAAd,EAAiBC,EAAjB,CAAoB,CAApB,CAAN;;AAEA,SAAO,YAAM;AACX,WAAQL,OAAOM,IAAP,KAAgBL,CAAjB,GAAsB,CAA7B;AACD,GAFD;AAGD,C","file":"bernoulli.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, p = 0.5) => {\n ow(p, ow.number.gte(0).lt(1))\n\n return () => {\n return (random.next() + p) | 0\n }\n}\n"]}
|
||||
31
node_modules/random/dist/distributions/binomial.js
generated
vendored
Normal file
31
node_modules/random/dist/distributions/binomial.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
var p = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.5;
|
||||
|
||||
(0, _owLite2.default)(n, _owLite2.default.number.positive.integer);
|
||||
(0, _owLite2.default)(p, _owLite2.default.number.gte(0).lte(1));
|
||||
|
||||
return function () {
|
||||
var i = 0;
|
||||
var x = 0;
|
||||
|
||||
while (i++ < n) {
|
||||
x += random.next() < p;
|
||||
}
|
||||
|
||||
return x;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=binomial.js.map
|
||||
1
node_modules/random/dist/distributions/binomial.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/binomial.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/binomial.js"],"names":["random","n","p","ow","number","positive","integer","gte","lte","i","x","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAA4B;AAAA,MAAnBC,CAAmB,uEAAf,CAAe;AAAA,MAAZC,CAAY,uEAAR,GAAQ;;AACzC,wBAAGD,CAAH,EAAME,iBAAGC,MAAH,CAAUC,QAAV,CAAmBC,OAAzB;AACA,wBAAGJ,CAAH,EAAMC,iBAAGC,MAAH,CAAUG,GAAV,CAAc,CAAd,EAAiBC,GAAjB,CAAqB,CAArB,CAAN;;AAEA,SAAO,YAAM;AACX,QAAIC,IAAI,CAAR;AACA,QAAIC,IAAI,CAAR;;AAEA,WAAOD,MAAMR,CAAb,EAAgB;AACdS,WAAMV,OAAOW,IAAP,KAAgBT,CAAtB;AACD;;AAED,WAAOQ,CAAP;AACD,GATD;AAUD,C","file":"binomial.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, n = 1, p = 0.5) => {\n ow(n, ow.number.positive.integer)\n ow(p, ow.number.gte(0).lte(1))\n\n return () => {\n let i = 0\n let x = 0\n\n while (i++ < n) {\n x += (random.next() < p)\n }\n\n return x\n }\n}\n"]}
|
||||
22
node_modules/random/dist/distributions/exponential.js
generated
vendored
Normal file
22
node_modules/random/dist/distributions/exponential.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var lambda = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
|
||||
(0, _owLite2.default)(lambda, _owLite2.default.number.positive);
|
||||
|
||||
return function () {
|
||||
return -Math.log(1 - random.next()) / lambda;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=exponential.js.map
|
||||
1
node_modules/random/dist/distributions/exponential.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/exponential.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/exponential.js"],"names":["random","lambda","ow","number","positive","Math","log","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAwB;AAAA,MAAfC,MAAe,uEAAN,CAAM;;AACrC,wBAAGA,MAAH,EAAWC,iBAAGC,MAAH,CAAUC,QAArB;;AAEA,SAAO,YAAM;AACX,WAAO,CAACC,KAAKC,GAAL,CAAS,IAAIN,OAAOO,IAAP,EAAb,CAAD,GAA+BN,MAAtC;AACD,GAFD;AAGD,C","file":"exponential.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, lambda = 1) => {\n ow(lambda, ow.number.positive)\n\n return () => {\n return -Math.log(1 - random.next()) / lambda\n }\n}\n"]}
|
||||
23
node_modules/random/dist/distributions/geometric.js
generated
vendored
Normal file
23
node_modules/random/dist/distributions/geometric.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var p = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.5;
|
||||
|
||||
(0, _owLite2.default)(p, _owLite2.default.number.gt(0).lte(1));
|
||||
var invLogP = 1.0 / Math.log(1.0 - p);
|
||||
|
||||
return function () {
|
||||
return 1 + Math.log(random.next()) * invLogP | 0;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=geometric.js.map
|
||||
1
node_modules/random/dist/distributions/geometric.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/geometric.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/geometric.js"],"names":["random","p","ow","number","gt","lte","invLogP","Math","log","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAqB;AAAA,MAAZC,CAAY,uEAAR,GAAQ;;AAClC,wBAAGA,CAAH,EAAMC,iBAAGC,MAAH,CAAUC,EAAV,CAAa,CAAb,EAAgBC,GAAhB,CAAoB,CAApB,CAAN;AACA,MAAMC,UAAU,MAAMC,KAAKC,GAAL,CAAS,MAAMP,CAAf,CAAtB;;AAEA,SAAO,YAAM;AACX,WAAO,IAAKM,KAAKC,GAAL,CAASR,OAAOS,IAAP,EAAT,IAA0BH,OAA/B,GAA0C,CAAjD;AACD,GAFD;AAGD,C","file":"geometric.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, p = 0.5) => {\n ow(p, ow.number.gt(0).lte(1))\n const invLogP = 1.0 / Math.log(1.0 - p)\n\n return () => {\n return 1 + (Math.log(random.next()) * invLogP) | 0\n }\n}\n"]}
|
||||
27
node_modules/random/dist/distributions/irwin-hall.js
generated
vendored
Normal file
27
node_modules/random/dist/distributions/irwin-hall.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var n = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
|
||||
(0, _owLite2.default)(n, _owLite2.default.number.integer.gte(0));
|
||||
|
||||
return function () {
|
||||
var sum = 0;
|
||||
for (var i = 0; i < n; ++i) {
|
||||
sum += random.next();
|
||||
}
|
||||
|
||||
return sum;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=irwin-hall.js.map
|
||||
1
node_modules/random/dist/distributions/irwin-hall.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/irwin-hall.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/irwin-hall.js"],"names":["random","n","ow","number","integer","gte","sum","i","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAmB;AAAA,MAAVC,CAAU,uEAAN,CAAM;;AAChC,wBAAGA,CAAH,EAAMC,iBAAGC,MAAH,CAAUC,OAAV,CAAkBC,GAAlB,CAAsB,CAAtB,CAAN;;AAEA,SAAO,YAAM;AACX,QAAIC,MAAM,CAAV;AACA,SAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIN,CAApB,EAAuB,EAAEM,CAAzB,EAA4B;AAC1BD,aAAON,OAAOQ,IAAP,EAAP;AACD;;AAED,WAAOF,GAAP;AACD,GAPD;AAQD,C","file":"irwin-hall.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, n = 1) => {\n ow(n, ow.number.integer.gte(0))\n\n return () => {\n let sum = 0\n for (let i = 0; i < n; ++i) {\n sum += random.next()\n }\n\n return sum\n }\n}\n"]}
|
||||
18
node_modules/random/dist/distributions/log-normal.js
generated
vendored
Normal file
18
node_modules/random/dist/distributions/log-normal.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
exports.default = function (random) {
|
||||
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
args[_key - 1] = arguments[_key];
|
||||
}
|
||||
|
||||
var normal = random.normal.apply(random, args);
|
||||
|
||||
return function () {
|
||||
return Math.exp(normal());
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=log-normal.js.map
|
||||
1
node_modules/random/dist/distributions/log-normal.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/log-normal.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/log-normal.js"],"names":["random","args","normal","Math","exp"],"mappings":";;;;;;kBAAe,UAACA,MAAD,EAAqB;AAAA,oCAATC,IAAS;AAATA,QAAS;AAAA;;AAClC,MAAMC,SAASF,OAAOE,MAAP,eAAiBD,IAAjB,CAAf;;AAEA,SAAO,YAAM;AACX,WAAOE,KAAKC,GAAL,CAASF,QAAT,CAAP;AACD,GAFD;AAGD,C","file":"log-normal.js","sourcesContent":["export default (random, ...args) => {\n const normal = random.normal(...args)\n\n return () => {\n return Math.exp(normal())\n }\n}\n"]}
|
||||
34
node_modules/random/dist/distributions/normal.js
generated
vendored
Normal file
34
node_modules/random/dist/distributions/normal.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var mu = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
||||
var sigma = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
||||
|
||||
(0, _owLite2.default)(mu, _owLite2.default.number);
|
||||
(0, _owLite2.default)(sigma, _owLite2.default.number);
|
||||
|
||||
return function () {
|
||||
var x = void 0,
|
||||
y = void 0,
|
||||
r = void 0;
|
||||
|
||||
do {
|
||||
x = random.next() * 2 - 1;
|
||||
y = random.next() * 2 - 1;
|
||||
r = x * x + y * y;
|
||||
} while (!r || r > 1);
|
||||
|
||||
return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=normal.js.map
|
||||
1
node_modules/random/dist/distributions/normal.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/normal.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/normal.js"],"names":["random","mu","sigma","ow","number","x","y","r","next","Math","sqrt","log"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAA+B;AAAA,MAAtBC,EAAsB,uEAAjB,CAAiB;AAAA,MAAdC,KAAc,uEAAN,CAAM;;AAC5C,wBAAGD,EAAH,EAAOE,iBAAGC,MAAV;AACA,wBAAGF,KAAH,EAAUC,iBAAGC,MAAb;;AAEA,SAAO,YAAM;AACX,QAAIC,UAAJ;AAAA,QAAOC,UAAP;AAAA,QAAUC,UAAV;;AAEA,OAAG;AACDF,UAAIL,OAAOQ,IAAP,KAAgB,CAAhB,GAAoB,CAAxB;AACAF,UAAIN,OAAOQ,IAAP,KAAgB,CAAhB,GAAoB,CAAxB;AACAD,UAAIF,IAAIA,CAAJ,GAAQC,IAAIA,CAAhB;AACD,KAJD,QAIS,CAACC,CAAD,IAAMA,IAAI,CAJnB;;AAMA,WAAON,KAAKC,QAAQI,CAAR,GAAYG,KAAKC,IAAL,CAAU,CAAC,CAAD,GAAKD,KAAKE,GAAL,CAASJ,CAAT,CAAL,GAAmBA,CAA7B,CAAxB;AACD,GAVD;AAWD,C","file":"normal.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, mu = 0, sigma = 1) => {\n ow(mu, ow.number)\n ow(sigma, ow.number)\n\n return () => {\n let x, y, r\n\n do {\n x = random.next() * 2 - 1\n y = random.next() * 2 - 1\n r = x * x + y * y\n } while (!r || r > 1)\n\n return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r)\n }\n}\n"]}
|
||||
23
node_modules/random/dist/distributions/pareto.js
generated
vendored
Normal file
23
node_modules/random/dist/distributions/pareto.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random) {
|
||||
var alpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
|
||||
(0, _owLite2.default)(alpha, _owLite2.default.number.gte(0));
|
||||
var invAlpha = 1.0 / alpha;
|
||||
|
||||
return function () {
|
||||
return 1.0 / Math.pow(1.0 - random.next(), invAlpha);
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=pareto.js.map
|
||||
1
node_modules/random/dist/distributions/pareto.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/pareto.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/pareto.js"],"names":["random","alpha","ow","number","gte","invAlpha","Math","pow","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAAuB;AAAA,MAAdC,KAAc,uEAAN,CAAM;;AACpC,wBAAGA,KAAH,EAAUC,iBAAGC,MAAH,CAAUC,GAAV,CAAc,CAAd,CAAV;AACA,MAAMC,WAAW,MAAMJ,KAAvB;;AAEA,SAAO,YAAM;AACX,WAAO,MAAMK,KAAKC,GAAL,CAAS,MAAMP,OAAOQ,IAAP,EAAf,EAA8BH,QAA9B,CAAb;AACD,GAFD;AAGD,C","file":"pareto.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, alpha = 1) => {\n ow(alpha, ow.number.gte(0))\n const invAlpha = 1.0 / alpha\n\n return () => {\n return 1.0 / Math.pow(1.0 - random.next(), invAlpha)\n }\n}\n"]}
|
||||
91
node_modules/random/dist/distributions/poisson.js
generated
vendored
Normal file
91
node_modules/random/dist/distributions/poisson.js
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var logFactorialTable = [0.0, 0.0, 0.69314718055994529, 1.7917594692280550, 3.1780538303479458, 4.7874917427820458, 6.5792512120101012, 8.5251613610654147, 10.604602902745251, 12.801827480081469];
|
||||
|
||||
var logFactorial = function logFactorial(k) {
|
||||
return logFactorialTable[k];
|
||||
};
|
||||
|
||||
var logSqrt2PI = 0.91893853320467267;
|
||||
|
||||
exports.default = function (random) {
|
||||
var lambda = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
|
||||
(0, _owLite2.default)(lambda, _owLite2.default.number.positive);
|
||||
|
||||
if (lambda < 10) {
|
||||
// inversion method
|
||||
var expMean = Math.exp(-lambda);
|
||||
|
||||
return function () {
|
||||
var p = expMean;
|
||||
var x = 0;
|
||||
var u = random.next();
|
||||
|
||||
while (u > p) {
|
||||
u = u - p;
|
||||
p = lambda * p / ++x;
|
||||
}
|
||||
|
||||
return x;
|
||||
};
|
||||
} else {
|
||||
// generative method
|
||||
var smu = Math.sqrt(lambda);
|
||||
var b = 0.931 + 2.53 * smu;
|
||||
var a = -0.059 + 0.02483 * b;
|
||||
var invAlpha = 1.1239 + 1.1328 / (b - 3.4);
|
||||
var vR = 0.9277 - 3.6224 / (b - 2);
|
||||
|
||||
return function () {
|
||||
while (true) {
|
||||
var u = void 0;
|
||||
var v = random.next();
|
||||
|
||||
if (v <= 0.86 * vR) {
|
||||
u = v / vR - 0.43;
|
||||
return Math.floor((2 * a / (0.5 - Math.abs(u)) + b) * u + lambda + 0.445);
|
||||
}
|
||||
|
||||
if (v >= vR) {
|
||||
u = random.next() - 0.5;
|
||||
} else {
|
||||
u = v / vR - 0.93;
|
||||
u = (u < 0 ? -0.5 : 0.5) - u;
|
||||
v = random.next() * vR;
|
||||
}
|
||||
|
||||
var us = 0.5 - Math.abs(u);
|
||||
if (us < 0.013 && v > us) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var k = Math.floor((2 * a / us + b) * u + lambda + 0.445) | 0;
|
||||
v = v * invAlpha / (a / (us * us) + b);
|
||||
|
||||
if (k >= 10) {
|
||||
var t = (k + 0.5) * Math.log(lambda / k) - lambda - logSqrt2PI + k - (1 / 12.0 - (1 / 360.0 - 1 / (1260.0 * k * k)) / (k * k)) / k;
|
||||
|
||||
if (Math.log(v * smu) <= t) {
|
||||
return k;
|
||||
}
|
||||
} else if (k >= 0) {
|
||||
if (Math.log(v) <= k * Math.log(lambda) - lambda - logFactorial(k)) {
|
||||
return k;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=poisson.js.map
|
||||
1
node_modules/random/dist/distributions/poisson.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/poisson.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/poisson.js"],"names":["logFactorialTable","logFactorial","k","logSqrt2PI","random","lambda","ow","number","positive","expMean","Math","exp","p","x","u","next","smu","sqrt","b","a","invAlpha","vR","v","floor","abs","us","t","log"],"mappings":";;;;;;AAAA;;;;;;AAEA,IAAMA,oBAAoB,CACxB,GADwB,EAExB,GAFwB,EAGxB,mBAHwB,EAIxB,kBAJwB,EAKxB,kBALwB,EAMxB,kBANwB,EAOxB,kBAPwB,EAQxB,kBARwB,EASxB,kBATwB,EAUxB,kBAVwB,CAA1B;;AAaA,IAAMC,eAAe,SAAfA,YAAe,CAACC,CAAD,EAAO;AAC1B,SAAOF,kBAAkBE,CAAlB,CAAP;AACD,CAFD;;AAIA,IAAMC,aAAa,mBAAnB;;kBAEe,UAACC,MAAD,EAAwB;AAAA,MAAfC,MAAe,uEAAN,CAAM;;AACrC,wBAAGA,MAAH,EAAWC,iBAAGC,MAAH,CAAUC,QAArB;;AAEA,MAAIH,SAAS,EAAb,EAAiB;AACf;AACA,QAAMI,UAAUC,KAAKC,GAAL,CAAS,CAACN,MAAV,CAAhB;;AAEA,WAAO,YAAM;AACX,UAAIO,IAAIH,OAAR;AACA,UAAII,IAAI,CAAR;AACA,UAAIC,IAAIV,OAAOW,IAAP,EAAR;;AAEA,aAAOD,IAAIF,CAAX,EAAc;AACZE,YAAIA,IAAIF,CAAR;AACAA,YAAIP,SAASO,CAAT,GAAa,EAAEC,CAAnB;AACD;;AAED,aAAOA,CAAP;AACD,KAXD;AAYD,GAhBD,MAgBO;AACL;AACA,QAAMG,MAAMN,KAAKO,IAAL,CAAUZ,MAAV,CAAZ;AACA,QAAMa,IAAI,QAAQ,OAAOF,GAAzB;AACA,QAAMG,IAAI,CAAC,KAAD,GAAS,UAAUD,CAA7B;AACA,QAAME,WAAW,SAAS,UAAUF,IAAI,GAAd,CAA1B;AACA,QAAMG,KAAK,SAAS,UAAUH,IAAI,CAAd,CAApB;;AAEA,WAAO,YAAM;AACX,aAAO,IAAP,EAAa;AACX,YAAIJ,UAAJ;AACA,YAAIQ,IAAIlB,OAAOW,IAAP,EAAR;;AAEA,YAAIO,KAAK,OAAOD,EAAhB,EAAoB;AAClBP,cAAIQ,IAAID,EAAJ,GAAS,IAAb;AACA,iBAAOX,KAAKa,KAAL,CAAW,CAAC,IAAIJ,CAAJ,IAAS,MAAMT,KAAKc,GAAL,CAASV,CAAT,CAAf,IAA8BI,CAA/B,IAAoCJ,CAApC,GAAwCT,MAAxC,GAAiD,KAA5D,CAAP;AACD;;AAED,YAAIiB,KAAKD,EAAT,EAAa;AACXP,cAAIV,OAAOW,IAAP,KAAgB,GAApB;AACD,SAFD,MAEO;AACLD,cAAIQ,IAAID,EAAJ,GAAS,IAAb;AACAP,cAAI,CAAEA,IAAI,CAAL,GAAU,CAAC,GAAX,GAAiB,GAAlB,IAAyBA,CAA7B;AACAQ,cAAIlB,OAAOW,IAAP,KAAgBM,EAApB;AACD;;AAED,YAAMI,KAAK,MAAMf,KAAKc,GAAL,CAASV,CAAT,CAAjB;AACA,YAAIW,KAAK,KAAL,IAAcH,IAAIG,EAAtB,EAA0B;AACxB;AACD;;AAED,YAAMvB,IAAIQ,KAAKa,KAAL,CAAW,CAAC,IAAIJ,CAAJ,GAAQM,EAAR,GAAaP,CAAd,IAAmBJ,CAAnB,GAAuBT,MAAvB,GAAgC,KAA3C,IAAoD,CAA9D;AACAiB,YAAIA,IAAIF,QAAJ,IAAgBD,KAAKM,KAAKA,EAAV,IAAgBP,CAAhC,CAAJ;;AAEA,YAAIhB,KAAK,EAAT,EAAa;AACX,cAAMwB,IAAI,CAACxB,IAAI,GAAL,IAAYQ,KAAKiB,GAAL,CAAStB,SAASH,CAAlB,CAAZ,GAAmCG,MAAnC,GAA4CF,UAA5C,GACRD,CADQ,GACJ,CAAC,IAAI,IAAJ,GAAW,CAAC,IAAI,KAAJ,GAAY,KAAK,SAASA,CAAT,GAAaA,CAAlB,CAAb,KAAsCA,IAAIA,CAA1C,CAAZ,IAA4DA,CADlE;;AAGA,cAAIQ,KAAKiB,GAAL,CAASL,IAAIN,GAAb,KAAqBU,CAAzB,EAA4B;AAC1B,mBAAOxB,CAAP;AACD;AACF,SAPD,MAOO,IAAIA,KAAK,CAAT,EAAY;AACjB,cAAIQ,KAAKiB,GAAL,CAASL,CAAT,KAAepB,IAAIQ,KAAKiB,GAAL,CAAStB,MAAT,CAAJ,GAAuBA,MAAvB,GAAgCJ,aAAaC,CAAb,CAAnD,EAAoE;AAClE,mBAAOA,CAAP;AACD;AACF;AACF;AACF,KAvCD;AAwCD;AACF,C","file":"poisson.js","sourcesContent":["import ow from 'ow-lite'\n\nconst logFactorialTable = [\n 0.0,\n 0.0,\n 0.69314718055994529,\n 1.7917594692280550,\n 3.1780538303479458,\n 4.7874917427820458,\n 6.5792512120101012,\n 8.5251613610654147,\n 10.604602902745251,\n 12.801827480081469\n]\n\nconst logFactorial = (k) => {\n return logFactorialTable[k]\n}\n\nconst logSqrt2PI = 0.91893853320467267\n\nexport default (random, lambda = 1) => {\n ow(lambda, ow.number.positive)\n\n if (lambda < 10) {\n // inversion method\n const expMean = Math.exp(-lambda)\n\n return () => {\n let p = expMean\n let x = 0\n let u = random.next()\n\n while (u > p) {\n u = u - p\n p = lambda * p / ++x\n }\n\n return x\n }\n } else {\n // generative method\n const smu = Math.sqrt(lambda)\n const b = 0.931 + 2.53 * smu\n const a = -0.059 + 0.02483 * b\n const invAlpha = 1.1239 + 1.1328 / (b - 3.4)\n const vR = 0.9277 - 3.6224 / (b - 2)\n\n return () => {\n while (true) {\n let u\n let v = random.next()\n\n if (v <= 0.86 * vR) {\n u = v / vR - 0.43\n return Math.floor((2 * a / (0.5 - Math.abs(u)) + b) * u + lambda + 0.445)\n }\n\n if (v >= vR) {\n u = random.next() - 0.5\n } else {\n u = v / vR - 0.93\n u = ((u < 0) ? -0.5 : 0.5) - u\n v = random.next() * vR\n }\n\n const us = 0.5 - Math.abs(u)\n if (us < 0.013 && v > us) {\n continue\n }\n\n const k = Math.floor((2 * a / us + b) * u + lambda + 0.445) | 0\n v = v * invAlpha / (a / (us * us) + b)\n\n if (k >= 10) {\n const t = (k + 0.5) * Math.log(lambda / k) - lambda - logSqrt2PI +\n k - (1 / 12.0 - (1 / 360.0 - 1 / (1260.0 * k * k)) / (k * k)) / k\n\n if (Math.log(v * smu) <= t) {\n return k\n }\n } else if (k >= 0) {\n if (Math.log(v) <= k * Math.log(lambda) - lambda - logFactorial(k)) {\n return k\n }\n }\n }\n }\n }\n}\n"]}
|
||||
12
node_modules/random/dist/distributions/uniform-boolean.js
generated
vendored
Normal file
12
node_modules/random/dist/distributions/uniform-boolean.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
exports.default = function (random) {
|
||||
return function () {
|
||||
return random.next() >= 0.5;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=uniform-boolean.js.map
|
||||
1
node_modules/random/dist/distributions/uniform-boolean.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/uniform-boolean.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/uniform-boolean.js"],"names":["random","next"],"mappings":";;;;;;kBAAe,UAACA,MAAD,EAAY;AACzB,SAAO,YAAM;AACX,WAAQA,OAAOC,IAAP,MAAiB,GAAzB;AACD,GAFD;AAGD,C","file":"uniform-boolean.js","sourcesContent":["export default (random) => {\n return () => {\n return (random.next() >= 0.5)\n }\n}\n"]}
|
||||
26
node_modules/random/dist/distributions/uniform-int.js
generated
vendored
Normal file
26
node_modules/random/dist/distributions/uniform-int.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random, min, max) {
|
||||
if (max === undefined) {
|
||||
max = min === undefined ? 1 : min;
|
||||
min = 0;
|
||||
}
|
||||
|
||||
(0, _owLite2.default)(min, _owLite2.default.number.integer);
|
||||
(0, _owLite2.default)(max, _owLite2.default.number.integer);
|
||||
|
||||
return function () {
|
||||
return random.next() * (max - min + 1) + min | 0;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=uniform-int.js.map
|
||||
1
node_modules/random/dist/distributions/uniform-int.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/uniform-int.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/uniform-int.js"],"names":["random","min","max","undefined","ow","number","integer","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAASC,GAAT,EAAcC,GAAd,EAAsB;AACnC,MAAIA,QAAQC,SAAZ,EAAuB;AACrBD,UAAOD,QAAQE,SAAR,GAAoB,CAApB,GAAwBF,GAA/B;AACAA,UAAM,CAAN;AACD;;AAED,wBAAGA,GAAH,EAAQG,iBAAGC,MAAH,CAAUC,OAAlB;AACA,wBAAGJ,GAAH,EAAQE,iBAAGC,MAAH,CAAUC,OAAlB;;AAEA,SAAO,YAAM;AACX,WAAQN,OAAOO,IAAP,MAAiBL,MAAMD,GAAN,GAAY,CAA7B,IAAkCA,GAAnC,GAA0C,CAAjD;AACD,GAFD;AAGD,C","file":"uniform-int.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, min, max) => {\n if (max === undefined) {\n max = (min === undefined ? 1 : min)\n min = 0\n }\n\n ow(min, ow.number.integer)\n ow(max, ow.number.integer)\n\n return () => {\n return (random.next() * (max - min + 1) + min) | 0\n }\n}\n"]}
|
||||
26
node_modules/random/dist/distributions/uniform.js
generated
vendored
Normal file
26
node_modules/random/dist/distributions/uniform.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.default = function (random, min, max) {
|
||||
if (max === undefined) {
|
||||
max = min === undefined ? 1 : min;
|
||||
min = 0;
|
||||
}
|
||||
|
||||
(0, _owLite2.default)(min, _owLite2.default.number);
|
||||
(0, _owLite2.default)(max, _owLite2.default.number);
|
||||
|
||||
return function () {
|
||||
return random.next() * (max - min) + min;
|
||||
};
|
||||
};
|
||||
//# sourceMappingURL=uniform.js.map
|
||||
1
node_modules/random/dist/distributions/uniform.js.map
generated
vendored
Normal file
1
node_modules/random/dist/distributions/uniform.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/distributions/uniform.js"],"names":["random","min","max","undefined","ow","number","next"],"mappings":";;;;;;AAAA;;;;;;kBAEe,UAACA,MAAD,EAASC,GAAT,EAAcC,GAAd,EAAsB;AACnC,MAAIA,QAAQC,SAAZ,EAAuB;AACrBD,UAAOD,QAAQE,SAAR,GAAoB,CAApB,GAAwBF,GAA/B;AACAA,UAAM,CAAN;AACD;;AAED,wBAAGA,GAAH,EAAQG,iBAAGC,MAAX;AACA,wBAAGH,GAAH,EAAQE,iBAAGC,MAAX;;AAEA,SAAO,YAAM;AACX,WAAOL,OAAOM,IAAP,MAAiBJ,MAAMD,GAAvB,IAA8BA,GAArC;AACD,GAFD;AAGD,C","file":"uniform.js","sourcesContent":["import ow from 'ow-lite'\n\nexport default (random, min, max) => {\n if (max === undefined) {\n max = (min === undefined ? 1 : min)\n min = 0\n }\n\n ow(min, ow.number)\n ow(max, ow.number)\n\n return () => {\n return random.next() * (max - min) + min\n }\n}\n"]}
|
||||
68
node_modules/random/dist/generators/function.js
generated
vendored
Normal file
68
node_modules/random/dist/generators/function.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
var _rng = require('../rng');
|
||||
|
||||
var _rng2 = _interopRequireDefault(_rng);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
|
||||
var RNGFunction = function (_RNG) {
|
||||
_inherits(RNGFunction, _RNG);
|
||||
|
||||
function RNGFunction(thunk, opts) {
|
||||
_classCallCheck(this, RNGFunction);
|
||||
|
||||
var _this = _possibleConstructorReturn(this, (RNGFunction.__proto__ || Object.getPrototypeOf(RNGFunction)).call(this));
|
||||
|
||||
_this.seed(thunk, opts);
|
||||
return _this;
|
||||
}
|
||||
|
||||
_createClass(RNGFunction, [{
|
||||
key: 'next',
|
||||
value: function next() {
|
||||
return this._rng();
|
||||
}
|
||||
}, {
|
||||
key: 'seed',
|
||||
value: function seed(thunk) {
|
||||
(0, _owLite2.default)(thunk, _owLite2.default.function);
|
||||
this._rng = thunk;
|
||||
}
|
||||
}, {
|
||||
key: 'clone',
|
||||
value: function clone() {
|
||||
for (var _len = arguments.length, opts = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
opts[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
return new (Function.prototype.bind.apply(RNGFunction, [null].concat([this._rng], opts)))();
|
||||
}
|
||||
}, {
|
||||
key: 'name',
|
||||
get: function get() {
|
||||
return 'function';
|
||||
}
|
||||
}]);
|
||||
|
||||
return RNGFunction;
|
||||
}(_rng2.default);
|
||||
|
||||
exports.default = RNGFunction;
|
||||
//# sourceMappingURL=function.js.map
|
||||
1
node_modules/random/dist/generators/function.js.map
generated
vendored
Normal file
1
node_modules/random/dist/generators/function.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/generators/function.js"],"names":["RNGFunction","thunk","opts","seed","_rng","ow","function","RNG"],"mappings":";;;;;;;;AAAA;;;;AACA;;;;;;;;;;;;IAEqBA,W;;;AACnB,uBAAaC,KAAb,EAAoBC,IAApB,EAA0B;AAAA;;AAAA;;AAGxB,UAAKC,IAAL,CAAUF,KAAV,EAAiBC,IAAjB;AAHwB;AAIzB;;;;2BAMO;AACN,aAAO,KAAKE,IAAL,EAAP;AACD;;;yBAEKH,K,EAAO;AACX,4BAAGA,KAAH,EAAUI,iBAAGC,QAAb;AACA,WAAKF,IAAL,GAAYH,KAAZ;AACD;;;4BAEe;AAAA,wCAANC,IAAM;AAANA,YAAM;AAAA;;AACd,gDAAWF,WAAX,iBAAuB,KAAKI,IAA5B,GAAqCF,IAArC;AACD;;;wBAfW;AACV,aAAO,UAAP;AACD;;;;EATsCK,a;;kBAApBP,W","file":"function.js","sourcesContent":["import ow from 'ow-lite'\nimport RNG from '../rng'\n\nexport default class RNGFunction extends RNG {\n constructor (thunk, opts) {\n super()\n\n this.seed(thunk, opts)\n }\n\n get name () {\n return 'function'\n }\n\n next () {\n return this._rng()\n }\n\n seed (thunk) {\n ow(thunk, ow.function)\n this._rng = thunk\n }\n\n clone (...opts) {\n return new RNGFunction(this._rng, ...opts)\n }\n}\n"]}
|
||||
56
node_modules/random/dist/generators/math-random.js
generated
vendored
Normal file
56
node_modules/random/dist/generators/math-random.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
var _rng = require('../rng');
|
||||
|
||||
var _rng2 = _interopRequireDefault(_rng);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
|
||||
var RNGMathRandom = function (_RNG) {
|
||||
_inherits(RNGMathRandom, _RNG);
|
||||
|
||||
function RNGMathRandom() {
|
||||
_classCallCheck(this, RNGMathRandom);
|
||||
|
||||
return _possibleConstructorReturn(this, (RNGMathRandom.__proto__ || Object.getPrototypeOf(RNGMathRandom)).apply(this, arguments));
|
||||
}
|
||||
|
||||
_createClass(RNGMathRandom, [{
|
||||
key: 'next',
|
||||
value: function next() {
|
||||
return Math.random();
|
||||
}
|
||||
}, {
|
||||
key: 'seed',
|
||||
value: function seed(_seed, opts) {
|
||||
// intentionally empty
|
||||
}
|
||||
}, {
|
||||
key: 'clone',
|
||||
value: function clone() {
|
||||
return new RNGMathRandom();
|
||||
}
|
||||
}, {
|
||||
key: 'name',
|
||||
get: function get() {
|
||||
return 'default';
|
||||
}
|
||||
}]);
|
||||
|
||||
return RNGMathRandom;
|
||||
}(_rng2.default);
|
||||
|
||||
exports.default = RNGMathRandom;
|
||||
//# sourceMappingURL=math-random.js.map
|
||||
1
node_modules/random/dist/generators/math-random.js.map
generated
vendored
Normal file
1
node_modules/random/dist/generators/math-random.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/generators/math-random.js"],"names":["RNGMathRandom","Math","random","seed","opts","RNG"],"mappings":";;;;;;;;AAAA;;;;;;;;;;;;IAEqBA,a;;;;;;;;;;;2BAKX;AACN,aAAOC,KAAKC,MAAL,EAAP;AACD;;;yBAEKC,K,EAAMC,I,EAAM;AAChB;AACD;;;4BAEQ;AACP,aAAO,IAAIJ,aAAJ,EAAP;AACD;;;wBAdW;AACV,aAAO,SAAP;AACD;;;;EAHwCK,a;;kBAAtBL,a","file":"math-random.js","sourcesContent":["import RNG from '../rng'\n\nexport default class RNGMathRandom extends RNG {\n get name () {\n return 'default'\n }\n\n next () {\n return Math.random()\n }\n\n seed (seed, opts) {\n // intentionally empty\n }\n\n clone () {\n return new RNGMathRandom()\n }\n}\n"]}
|
||||
76
node_modules/random/dist/generators/xor128.js
generated
vendored
Normal file
76
node_modules/random/dist/generators/xor128.js
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
var _rng = require('../rng');
|
||||
|
||||
var _rng2 = _interopRequireDefault(_rng);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
||||
|
||||
var RNGXOR128 = function (_RNG) {
|
||||
_inherits(RNGXOR128, _RNG);
|
||||
|
||||
function RNGXOR128(seed, opts) {
|
||||
_classCallCheck(this, RNGXOR128);
|
||||
|
||||
var _this = _possibleConstructorReturn(this, (RNGXOR128.__proto__ || Object.getPrototypeOf(RNGXOR128)).call(this));
|
||||
|
||||
_this.x = 0;
|
||||
_this.y = 0;
|
||||
_this.z = 0;
|
||||
_this.w = 0;
|
||||
|
||||
_this.seed(seed, opts);
|
||||
return _this;
|
||||
}
|
||||
|
||||
_createClass(RNGXOR128, [{
|
||||
key: 'next',
|
||||
value: function next() {
|
||||
var t = this.x ^ this.x << 1;
|
||||
this.x = this.y;
|
||||
this.y = this.z;
|
||||
this.z = this.w;
|
||||
this.w = this.w ^ (this.w >>> 19 ^ t ^ t >>> 8);
|
||||
return (this.w >>> 0) / 0x100000000;
|
||||
}
|
||||
}, {
|
||||
key: 'seed',
|
||||
value: function seed(_seed, opts) {
|
||||
// this._rng = seedrandom(this._seed(seed, opts))
|
||||
|
||||
this.x = this._seed(_seed, opts);
|
||||
|
||||
// discard an initial batch of 64 values
|
||||
for (var i = 0; i < 64; ++i) {
|
||||
this.next();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'clone',
|
||||
value: function clone(seed, opts) {
|
||||
return new RNGXOR128(seed, opts);
|
||||
}
|
||||
}, {
|
||||
key: 'name',
|
||||
get: function get() {
|
||||
return 'xor128';
|
||||
}
|
||||
}]);
|
||||
|
||||
return RNGXOR128;
|
||||
}(_rng2.default);
|
||||
|
||||
exports.default = RNGXOR128;
|
||||
//# sourceMappingURL=xor128.js.map
|
||||
1
node_modules/random/dist/generators/xor128.js.map
generated
vendored
Normal file
1
node_modules/random/dist/generators/xor128.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../../src/generators/xor128.js"],"names":["RNGXOR128","seed","opts","x","y","z","w","t","_seed","i","next","RNG"],"mappings":";;;;;;;;AAAA;;;;;;;;;;;;IAEqBA,S;;;AACnB,qBAAaC,IAAb,EAAmBC,IAAnB,EAAyB;AAAA;;AAAA;;AAGvB,UAAKC,CAAL,GAAS,CAAT;AACA,UAAKC,CAAL,GAAS,CAAT;AACA,UAAKC,CAAL,GAAS,CAAT;AACA,UAAKC,CAAL,GAAS,CAAT;;AAEA,UAAKL,IAAL,CAAUA,IAAV,EAAgBC,IAAhB;AARuB;AASxB;;;;2BAMO;AACN,UAAMK,IAAI,KAAKJ,CAAL,GAAU,KAAKA,CAAL,IAAU,CAA9B;AACA,WAAKA,CAAL,GAAS,KAAKC,CAAd;AACA,WAAKA,CAAL,GAAS,KAAKC,CAAd;AACA,WAAKA,CAAL,GAAS,KAAKC,CAAd;AACA,WAAKA,CAAL,GAAS,KAAKA,CAAL,IAAW,KAAKA,CAAL,KAAW,EAAZ,GAAkBC,CAAlB,GAAuBA,MAAM,CAAvC,CAAT;AACA,aAAO,CAAC,KAAKD,CAAL,KAAW,CAAZ,IAAiB,WAAxB;AACD;;;yBAEKL,K,EAAMC,I,EAAM;AAChB;;AAEA,WAAKC,CAAL,GAAS,KAAKK,KAAL,CAAWP,KAAX,EAAiBC,IAAjB,CAAT;;AAEA;AACA,WAAK,IAAIO,IAAI,CAAb,EAAgBA,IAAI,EAApB,EAAwB,EAAEA,CAA1B,EAA6B;AAC3B,aAAKC,IAAL;AACD;AACF;;;0BAEMT,I,EAAMC,I,EAAM;AACjB,aAAO,IAAIF,SAAJ,CAAcC,IAAd,EAAoBC,IAApB,CAAP;AACD;;;wBA1BW;AACV,aAAO,QAAP;AACD;;;;EAdoCS,a;;kBAAlBX,S","file":"xor128.js","sourcesContent":["import RNG from '../rng'\n\nexport default class RNGXOR128 extends RNG {\n constructor (seed, opts) {\n super()\n\n this.x = 0\n this.y = 0\n this.z = 0\n this.w = 0\n\n this.seed(seed, opts)\n }\n\n get name () {\n return 'xor128'\n }\n\n next () {\n const t = this.x ^ (this.x << 1)\n this.x = this.y\n this.y = this.z\n this.z = this.w\n this.w = this.w ^ ((this.w >>> 19) ^ t ^ (t >>> 8))\n return (this.w >>> 0) / 0x100000000\n }\n\n seed (seed, opts) {\n // this._rng = seedrandom(this._seed(seed, opts))\n\n this.x = this._seed(seed, opts)\n\n // discard an initial batch of 64 values\n for (let i = 0; i < 64; ++i) {\n this.next()\n }\n }\n\n clone (seed, opts) {\n return new RNGXOR128(seed, opts)\n }\n}\n"]}
|
||||
529
node_modules/random/dist/random.js
generated
vendored
Normal file
529
node_modules/random/dist/random.js
generated
vendored
Normal file
@@ -0,0 +1,529 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.RNGFactory = exports.RNG = undefined;
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
var _owLite = require('ow-lite');
|
||||
|
||||
var _owLite2 = _interopRequireDefault(_owLite);
|
||||
|
||||
var _rng = require('./rng');
|
||||
|
||||
var _rng2 = _interopRequireDefault(_rng);
|
||||
|
||||
var _rngFactory = require('./rng-factory');
|
||||
|
||||
var _rngFactory2 = _interopRequireDefault(_rngFactory);
|
||||
|
||||
var _uniform2 = require('./distributions/uniform');
|
||||
|
||||
var _uniform3 = _interopRequireDefault(_uniform2);
|
||||
|
||||
var _uniformInt2 = require('./distributions/uniform-int');
|
||||
|
||||
var _uniformInt3 = _interopRequireDefault(_uniformInt2);
|
||||
|
||||
var _uniformBoolean2 = require('./distributions/uniform-boolean');
|
||||
|
||||
var _uniformBoolean3 = _interopRequireDefault(_uniformBoolean2);
|
||||
|
||||
var _normal2 = require('./distributions/normal');
|
||||
|
||||
var _normal3 = _interopRequireDefault(_normal2);
|
||||
|
||||
var _logNormal2 = require('./distributions/log-normal');
|
||||
|
||||
var _logNormal3 = _interopRequireDefault(_logNormal2);
|
||||
|
||||
var _bernoulli2 = require('./distributions/bernoulli');
|
||||
|
||||
var _bernoulli3 = _interopRequireDefault(_bernoulli2);
|
||||
|
||||
var _binomial2 = require('./distributions/binomial');
|
||||
|
||||
var _binomial3 = _interopRequireDefault(_binomial2);
|
||||
|
||||
var _geometric2 = require('./distributions/geometric');
|
||||
|
||||
var _geometric3 = _interopRequireDefault(_geometric2);
|
||||
|
||||
var _poisson2 = require('./distributions/poisson');
|
||||
|
||||
var _poisson3 = _interopRequireDefault(_poisson2);
|
||||
|
||||
var _exponential2 = require('./distributions/exponential');
|
||||
|
||||
var _exponential3 = _interopRequireDefault(_exponential2);
|
||||
|
||||
var _irwinHall2 = require('./distributions/irwin-hall');
|
||||
|
||||
var _irwinHall3 = _interopRequireDefault(_irwinHall2);
|
||||
|
||||
var _bates2 = require('./distributions/bates');
|
||||
|
||||
var _bates3 = _interopRequireDefault(_bates2);
|
||||
|
||||
var _pareto2 = require('./distributions/pareto');
|
||||
|
||||
var _pareto3 = _interopRequireDefault(_pareto2);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
exports.RNG = _rng2.default;
|
||||
exports.RNGFactory = _rngFactory2.default;
|
||||
|
||||
/**
|
||||
* Seedable random number generator supporting many common distributions.
|
||||
*
|
||||
* Defaults to Math.random as its underlying pseudorandom number generator.
|
||||
*
|
||||
* @name Random
|
||||
* @class
|
||||
*
|
||||
* @param {RNG|function} [rng=Math.random] - Underlying pseudorandom number generator.
|
||||
*/
|
||||
|
||||
var Random = function () {
|
||||
function Random(rng) {
|
||||
_classCallCheck(this, Random);
|
||||
|
||||
if (rng) (0, _owLite2.default)(rng, _owLite2.default.object.instanceOf(_rng2.default));
|
||||
|
||||
this._cache = {};
|
||||
this.use(rng);
|
||||
}
|
||||
|
||||
/**
|
||||
* @member {RNG} Underlying pseudo-random number generator
|
||||
*/
|
||||
|
||||
|
||||
_createClass(Random, [{
|
||||
key: 'clone',
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new `Random` instance, optionally specifying parameters to
|
||||
* set a new seed.
|
||||
*
|
||||
* @see RNG.clone
|
||||
*
|
||||
* @param {string} [seed] - Optional seed for new RNG.
|
||||
* @param {object} [opts] - Optional config for new RNG options.
|
||||
* @return {Random}
|
||||
*/
|
||||
value: function clone() {
|
||||
if (arguments.length) {
|
||||
return new Random(_rngFactory2.default.apply(undefined, arguments));
|
||||
} else {
|
||||
return new Random(this.rng.clone());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the underlying pseudorandom number generator used via
|
||||
* either an instance of `seedrandom`, a custom instance of RNG
|
||||
* (for PRNG plugins), or a string specifying the PRNG to use
|
||||
* along with an optional `seed` and `opts` to initialize the
|
||||
* RNG.
|
||||
*
|
||||
* @example
|
||||
* const random = require('random')
|
||||
*
|
||||
* random.use('example_seedrandom_string')
|
||||
* // or
|
||||
* random.use(seedrandom('kittens'))
|
||||
* // or
|
||||
* random.use(Math.random)
|
||||
*
|
||||
* @param {...*} args
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'use',
|
||||
value: function use() {
|
||||
this._rng = _rngFactory2.default.apply(undefined, arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Patches `Math.random` with this Random instance's PRNG.
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'patch',
|
||||
value: function patch() {
|
||||
if (this._patch) {
|
||||
throw new Error('Math.random already patched');
|
||||
}
|
||||
|
||||
this._patch = Math.random;
|
||||
Math.random = this.uniform();
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores a previously patched `Math.random` to its original value.
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'unpatch',
|
||||
value: function unpatch() {
|
||||
if (this._patch) {
|
||||
Math.random = this._patch;
|
||||
delete this._patch;
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Uniform utility functions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Convenience wrapper around `this.rng.next()`
|
||||
*
|
||||
* Returns a floating point number in [0, 1).
|
||||
*
|
||||
* @return {number}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'next',
|
||||
value: function next() {
|
||||
return this._rng.next();
|
||||
}
|
||||
|
||||
/**
|
||||
* Samples a uniform random floating point number, optionally specifying
|
||||
* lower and upper bounds.
|
||||
*
|
||||
* Convence wrapper around `random.uniform()`
|
||||
*
|
||||
* @param {number} [min=0] - Lower bound (float, inclusive)
|
||||
* @param {number} [max=1] - Upper bound (float, exclusive)
|
||||
* @return {number}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'float',
|
||||
value: function float(min, max) {
|
||||
return this.uniform(min, max)();
|
||||
}
|
||||
|
||||
/**
|
||||
* Samples a uniform random integer, optionally specifying lower and upper
|
||||
* bounds.
|
||||
*
|
||||
* Convence wrapper around `random.uniformInt()`
|
||||
*
|
||||
* @param {number} [min=0] - Lower bound (integer, inclusive)
|
||||
* @param {number} [max=1] - Upper bound (integer, inclusive)
|
||||
* @return {number}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'int',
|
||||
value: function int(min, max) {
|
||||
return this.uniformInt(min, max)();
|
||||
}
|
||||
|
||||
/**
|
||||
* Samples a uniform random integer, optionally specifying lower and upper
|
||||
* bounds.
|
||||
*
|
||||
* Convence wrapper around `random.uniformInt()`
|
||||
*
|
||||
* @alias `random.int`
|
||||
*
|
||||
* @param {number} [min=0] - Lower bound (integer, inclusive)
|
||||
* @param {number} [max=1] - Upper bound (integer, inclusive)
|
||||
* @return {number}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'integer',
|
||||
value: function integer(min, max) {
|
||||
return this.uniformInt(min, max)();
|
||||
}
|
||||
|
||||
/**
|
||||
* Samples a uniform random boolean value.
|
||||
*
|
||||
* Convence wrapper around `random.uniformBoolean()`
|
||||
*
|
||||
* @alias `random.boolean`
|
||||
*
|
||||
* @return {boolean}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'bool',
|
||||
value: function bool() {
|
||||
return this.uniformBoolean()();
|
||||
}
|
||||
|
||||
/**
|
||||
* Samples a uniform random boolean value.
|
||||
*
|
||||
* Convence wrapper around `random.uniformBoolean()`
|
||||
*
|
||||
* @return {boolean}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'boolean',
|
||||
value: function boolean() {
|
||||
return this.uniformBoolean()();
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Uniform distributions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Generates a [Continuous uniform distribution](https://en.wikipedia.org/wiki/Uniform_distribution_(continuous)).
|
||||
*
|
||||
* @param {number} [min=0] - Lower bound (float, inclusive)
|
||||
* @param {number} [max=1] - Upper bound (float, exclusive)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'uniform',
|
||||
value: function uniform(min, max) {
|
||||
return this._memoize('uniform', _uniform3.default, min, max);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Discrete uniform distribution](https://en.wikipedia.org/wiki/Discrete_uniform_distribution).
|
||||
*
|
||||
* @param {number} [min=0] - Lower bound (integer, inclusive)
|
||||
* @param {number} [max=1] - Upper bound (integer, inclusive)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'uniformInt',
|
||||
value: function uniformInt(min, max) {
|
||||
return this._memoize('uniformInt', _uniformInt3.default, min, max);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Discrete uniform distribution](https://en.wikipedia.org/wiki/Discrete_uniform_distribution),
|
||||
* with two possible outcomes, `true` or `false.
|
||||
*
|
||||
* This method is analogous to flipping a coin.
|
||||
*
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'uniformBoolean',
|
||||
value: function uniformBoolean() {
|
||||
return this._memoize('uniformBoolean', _uniformBoolean3.default);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Normal distributions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Generates a [Normal distribution](https://en.wikipedia.org/wiki/Normal_distribution).
|
||||
*
|
||||
* @param {number} [mu=0] - Mean
|
||||
* @param {number} [sigma=1] - Standard deviation
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'normal',
|
||||
value: function normal(mu, sigma) {
|
||||
return (0, _normal3.default)(this, mu, sigma);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Log-normal distribution](https://en.wikipedia.org/wiki/Log-normal_distribution).
|
||||
*
|
||||
* @param {number} [mu=0] - Mean of underlying normal distribution
|
||||
* @param {number} [sigma=1] - Standard deviation of underlying normal distribution
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'logNormal',
|
||||
value: function logNormal(mu, sigma) {
|
||||
return (0, _logNormal3.default)(this, mu, sigma);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Bernoulli distributions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Generates a [Bernoulli distribution](https://en.wikipedia.org/wiki/Bernoulli_distribution).
|
||||
*
|
||||
* @param {number} [p=0.5] - Success probability of each trial.
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'bernoulli',
|
||||
value: function bernoulli(p) {
|
||||
return (0, _bernoulli3.default)(this, p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Binomial distribution](https://en.wikipedia.org/wiki/Binomial_distribution).
|
||||
*
|
||||
* @param {number} [n=1] - Number of trials.
|
||||
* @param {number} [p=0.5] - Success probability of each trial.
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'binomial',
|
||||
value: function binomial(n, p) {
|
||||
return (0, _binomial3.default)(this, n, p);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Geometric distribution](https://en.wikipedia.org/wiki/Geometric_distribution).
|
||||
*
|
||||
* @param {number} [p=0.5] - Success probability of each trial.
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'geometric',
|
||||
value: function geometric(p) {
|
||||
return (0, _geometric3.default)(this, p);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Poisson distributions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Generates a [Poisson distribution](https://en.wikipedia.org/wiki/Poisson_distribution).
|
||||
*
|
||||
* @param {number} [lambda=1] - Mean (lambda > 0)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'poisson',
|
||||
value: function poisson(lambda) {
|
||||
return (0, _poisson3.default)(this, lambda);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates an [Exponential distribution](https://en.wikipedia.org/wiki/Exponential_distribution).
|
||||
*
|
||||
* @param {number} [lambda=1] - Inverse mean (lambda > 0)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'exponential',
|
||||
value: function exponential(lambda) {
|
||||
return (0, _exponential3.default)(this, lambda);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Misc distributions
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Generates an [Irwin Hall distribution](https://en.wikipedia.org/wiki/Irwin%E2%80%93Hall_distribution).
|
||||
*
|
||||
* @param {number} [n=1] - Number of uniform samples to sum (n >= 0)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'irwinHall',
|
||||
value: function irwinHall(n) {
|
||||
return (0, _irwinHall3.default)(this, n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Bates distribution](https://en.wikipedia.org/wiki/Bates_distribution).
|
||||
*
|
||||
* @param {number} [n=1] - Number of uniform samples to average (n >= 1)
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'bates',
|
||||
value: function bates(n) {
|
||||
return (0, _bates3.default)(this, n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a [Pareto distribution](https://en.wikipedia.org/wiki/Pareto_distribution).
|
||||
*
|
||||
* @param {number} [alpha=1] - Alpha
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'pareto',
|
||||
value: function pareto(alpha) {
|
||||
return (0, _pareto3.default)(this, alpha);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
// Internal
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Memoizes distributions to ensure they're only created when necessary.
|
||||
*
|
||||
* Returns a thunk which that returns independent, identically distributed
|
||||
* samples from the specified distribution.
|
||||
*
|
||||
* @private
|
||||
*
|
||||
* @param {string} label - Name of distribution
|
||||
* @param {function} getter - Function which generates a new distribution
|
||||
* @param {...*} args - Distribution-specific arguments
|
||||
*
|
||||
* @return {function}
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: '_memoize',
|
||||
value: function _memoize(label, getter) {
|
||||
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
||||
args[_key - 2] = arguments[_key];
|
||||
}
|
||||
|
||||
var key = '' + args.join(';');
|
||||
var value = this._cache[label];
|
||||
|
||||
if (value === undefined || value.key !== key) {
|
||||
value = { key: key, distribution: getter.apply(undefined, [this].concat(args)) };
|
||||
this._cache[label] = value;
|
||||
}
|
||||
|
||||
return value.distribution;
|
||||
}
|
||||
}, {
|
||||
key: 'rng',
|
||||
get: function get() {
|
||||
return this._rng;
|
||||
}
|
||||
}]);
|
||||
|
||||
return Random;
|
||||
}();
|
||||
|
||||
// defaults to Math.random as its RNG
|
||||
|
||||
|
||||
exports.default = new Random();
|
||||
//# sourceMappingURL=random.js.map
|
||||
1
node_modules/random/dist/random.js.map
generated
vendored
Normal file
1
node_modules/random/dist/random.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
52
node_modules/random/dist/rng-factory.js
generated
vendored
Normal file
52
node_modules/random/dist/rng-factory.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
||||
|
||||
var _seedrandom = require('seedrandom');
|
||||
|
||||
var _seedrandom2 = _interopRequireDefault(_seedrandom);
|
||||
|
||||
var _rng = require('./rng');
|
||||
|
||||
var _rng2 = _interopRequireDefault(_rng);
|
||||
|
||||
var _function = require('./generators/function');
|
||||
|
||||
var _function2 = _interopRequireDefault(_function);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||
|
||||
exports.default = function () {
|
||||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
||||
args[_key] = arguments[_key];
|
||||
}
|
||||
|
||||
var _args$ = args[0],
|
||||
arg0 = _args$ === undefined ? 'default' : _args$,
|
||||
rest = args.slice(1);
|
||||
|
||||
|
||||
switch (typeof arg0 === 'undefined' ? 'undefined' : _typeof(arg0)) {
|
||||
case 'object':
|
||||
if (arg0 instanceof _rng2.default) {
|
||||
return arg0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'function':
|
||||
return new _function2.default(arg0);
|
||||
|
||||
case 'string':
|
||||
case 'number':
|
||||
return new _function2.default(_seedrandom2.default.apply(undefined, _toConsumableArray(rest)));
|
||||
}
|
||||
|
||||
throw new Error('invalid RNG "' + arg0 + '"');
|
||||
};
|
||||
//# sourceMappingURL=rng-factory.js.map
|
||||
1
node_modules/random/dist/rng-factory.js.map
generated
vendored
Normal file
1
node_modules/random/dist/rng-factory.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../src/rng-factory.js"],"names":["args","arg0","rest","RNG","RNGFunction","seedrandom","Error"],"mappings":";;;;;;;;AAAA;;;;AAEA;;;;AAEA;;;;;;;;kBAEe,YAAa;AAAA,oCAATA,IAAS;AAATA,QAAS;AAAA;;AAAA,eACYA,IADZ;AAAA,MAClBC,IADkB,0BACX,SADW;AAAA,MACGC,IADH,GACYF,IADZ;;;AAG1B,iBAAeC,IAAf,yCAAeA,IAAf;AACE,SAAK,QAAL;AACE,UAAIA,gBAAgBE,aAApB,EAAyB;AACvB,eAAOF,IAAP;AACD;AACD;;AAEF,SAAK,UAAL;AACE,aAAO,IAAIG,kBAAJ,CAAgBH,IAAhB,CAAP;;AAEF,SAAK,QAAL;AACA,SAAK,QAAL;AACE,aAAO,IAAIG,kBAAJ,CAAgBC,yDAAcH,IAAd,EAAhB,CAAP;AAZJ;;AAeA,QAAM,IAAII,KAAJ,mBAA0BL,IAA1B,OAAN;AACD,C","file":"rng-factory.js","sourcesContent":["import seedrandom from 'seedrandom'\n\nimport RNG from './rng'\n\nimport RNGFunction from './generators/function'\n\nexport default (...args) => {\n const [ arg0 = 'default', ...rest ] = args\n\n switch (typeof arg0) {\n case 'object':\n if (arg0 instanceof RNG) {\n return arg0\n }\n break\n\n case 'function':\n return new RNGFunction(arg0)\n\n case 'string':\n case 'number':\n return new RNGFunction(seedrandom(...rest))\n }\n\n throw new Error(`invalid RNG \"${arg0}\"`)\n}\n"]}
|
||||
60
node_modules/random/dist/rng.js
generated
vendored
Normal file
60
node_modules/random/dist/rng.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
var RNG = function () {
|
||||
function RNG() {
|
||||
_classCallCheck(this, RNG);
|
||||
}
|
||||
|
||||
_createClass(RNG, [{
|
||||
key: 'next',
|
||||
value: function next() {
|
||||
throw new Error('RNG.next must be overridden');
|
||||
}
|
||||
}, {
|
||||
key: 'seed',
|
||||
value: function seed(_seed, opts) {
|
||||
throw new Error('RNG.seed must be overridden');
|
||||
}
|
||||
}, {
|
||||
key: 'clone',
|
||||
value: function clone(seed, opts) {
|
||||
throw new Error('RNG.clone must be overridden');
|
||||
}
|
||||
}, {
|
||||
key: '_seed',
|
||||
value: function _seed(seed, opts) {
|
||||
// TODO: add entropy and stuff
|
||||
|
||||
if (seed === (seed | 0)) {
|
||||
return seed;
|
||||
} else {
|
||||
var strSeed = '' + seed;
|
||||
var s = 0;
|
||||
|
||||
for (var k = 0; k < strSeed.length; ++k) {
|
||||
s ^= strSeed.charCodeAt(k) | 0;
|
||||
}
|
||||
|
||||
return s;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
key: 'name',
|
||||
get: function get() {
|
||||
throw new Error('RNG.name must be overridden');
|
||||
}
|
||||
}]);
|
||||
|
||||
return RNG;
|
||||
}();
|
||||
|
||||
exports.default = RNG;
|
||||
//# sourceMappingURL=rng.js.map
|
||||
1
node_modules/random/dist/rng.js.map
generated
vendored
Normal file
1
node_modules/random/dist/rng.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["../src/rng.js"],"names":["RNG","Error","seed","opts","strSeed","s","k","length","charCodeAt"],"mappings":";;;;;;;;;;IAAqBA,G;;;;;;;2BAKX;AACN,YAAM,IAAIC,KAAJ,CAAU,6BAAV,CAAN;AACD;;;yBAEKC,K,EAAMC,I,EAAM;AAChB,YAAM,IAAIF,KAAJ,CAAU,6BAAV,CAAN;AACD;;;0BAEMC,I,EAAMC,I,EAAM;AACjB,YAAM,IAAIF,KAAJ,CAAU,8BAAV,CAAN;AACD;;;0BAEMC,I,EAAMC,I,EAAM;AACjB;;AAEA,UAAID,UAAUA,OAAO,CAAjB,CAAJ,EAAyB;AACvB,eAAOA,IAAP;AACD,OAFD,MAEO;AACL,YAAIE,UAAU,KAAKF,IAAnB;AACA,YAAIG,IAAI,CAAR;;AAEA,aAAK,IAAIC,IAAI,CAAb,EAAgBA,IAAIF,QAAQG,MAA5B,EAAoC,EAAED,CAAtC,EAAyC;AACvCD,eAAKD,QAAQI,UAAR,CAAmBF,CAAnB,IAAwB,CAA7B;AACD;;AAED,eAAOD,CAAP;AACD;AACF;;;wBA/BW;AACV,YAAM,IAAIJ,KAAJ,CAAU,6BAAV,CAAN;AACD;;;;;;kBAHkBD,G","file":"rng.js","sourcesContent":["export default class RNG {\n get name () {\n throw new Error('RNG.name must be overridden')\n }\n\n next () {\n throw new Error('RNG.next must be overridden')\n }\n\n seed (seed, opts) {\n throw new Error('RNG.seed must be overridden')\n }\n\n clone (seed, opts) {\n throw new Error('RNG.clone must be overridden')\n }\n\n _seed (seed, opts) {\n // TODO: add entropy and stuff\n\n if (seed === (seed | 0)) {\n return seed\n } else {\n let strSeed = '' + seed\n let s = 0\n\n for (let k = 0; k < strSeed.length; ++k) {\n s ^= strSeed.charCodeAt(k) | 0\n }\n\n return s\n }\n }\n}\n"]}
|
||||
Reference in New Issue
Block a user