'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