34 lines
895 B
JavaScript
34 lines
895 B
JavaScript
'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
|