@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 2.33 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import t from"./../../utils/define-nonenumerable-read-only-property.js";import e from"./../../utils/define-nonenumerable-read-only-accessor.js";import n from"./../../utils/define-nonenumerable-read-write-accessor.js";import r from"./../../assert/is-plain-object.js";import o from"./../../assert/is-probability.js";import i from"./../../assert/is-function.js";import s from"./../../assert/has-own-property.js";import a from"./../../utils/constant-function.js";import u from"./../../utils/noop.js";import p from"./mt19937.js";import m from"./../../math/base/assert/is-nan.js";import l from"./../../array/to-json.js";var f=t,g=e,d=n,c=r,b=o.isPrimitive,h=i,y=s,j=a,v=u,w=p.factory,L=m,N=l;function E(){var t,e,n,r;if(0===arguments.length)e=w();else if(1===arguments.length&&c(arguments[0]))if(y(t=arguments[0],"prng")){if(!h(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");e=t.prng}else e=w(t);else{if(!b(r=arguments[0]))throw new TypeError("invalid argument. First argument must be a probability. Value: `"+r+"`.");if(arguments.length>1){if(!c(t=arguments[1]))throw new TypeError("invalid argument. Options argument must be an object. Value: `"+t+"`.");if(y(t,"prng")){if(!h(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");e=t.prng}else e=w(t)}else e=w()}return f(n=void 0===r?E:l,"NAME","bernoulli"),t&&t.prng?(f(n,"seed",null),f(n,"seedLength",null),d(n,"state",j(null),v),f(n,"stateLength",null),f(n,"byteLength",null),f(n,"toJSON",j(null)),f(n,"PRNG",e)):(g(n,"seed",o),g(n,"seedLength",i),d(n,"state",u,p),g(n,"stateLength",s),g(n,"byteLength",a),f(n,"toJSON",m),f(n,"PRNG",e),e=e.normalized),n;function o(){return e.seed}function i(){return e.seedLength}function s(){return e.stateLength}function a(){return e.byteLength}function u(){return e.state}function p(t){e.state=t}function m(){var t={type:"PRNG"};return t.name=n.NAME,t.state=N(e.state),t.params=void 0===r?[]:[r],t}function l(){return e()<=r?1:0}function E(t){return L(t)||t<0||t>1?NaN:e()<=t?1:0}}var O=E,P=O(),T=t,G=P,R=E;T(G,"factory",R);export default G;
//# sourceMappingURL=bernoulli.js.map