@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 2.5 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 r from"./../../utils/define-nonenumerable-read-write-accessor.js";import n 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 m from"./mt19937.js";import p from"./../../math/base/assert/is-nan.js";import f from"./../../array/to-json.js";import l from"./../../math/base/special/floor.js";import g from"./../../math/base/special/ln.js";var c=l,d=g;function b(t,e){var r=t();return 0===r&&(r=t()),c(d(r)/d(1-e))}var h=t,j=e,y=r,v=n,w=o.isPrimitive,L=i,N=s,E=a,O=u,P=m.factory,T=p,G=f,R=b;function A(){var t,e,r,n;if(0===arguments.length)e=P();else if(1===arguments.length&&v(arguments[0]))if(N(t=arguments[0],"prng")){if(!L(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");e=t.prng}else e=P(t);else{if(!w(n=arguments[0]))throw new TypeError("invalid argument. First argument must be a probability. Value: `"+n+"`.");if(arguments.length>1){if(!v(t=arguments[1]))throw new TypeError("invalid argument. Options argument must be an object. Value: `"+t+"`.");if(N(t,"prng")){if(!L(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");e=t.prng}else e=P(t)}else e=P()}return h(r=void 0===n?l:f,"NAME","geometric"),t&&t.prng?(h(r,"seed",null),h(r,"seedLength",null),y(r,"state",E(null),O),h(r,"stateLength",null),h(r,"byteLength",null),h(r,"toJSON",E(null)),h(r,"PRNG",e)):(j(r,"seed",o),j(r,"seedLength",i),y(r,"state",u,m),j(r,"stateLength",s),j(r,"byteLength",a),h(r,"toJSON",p),h(r,"PRNG",e),e=e.normalized),r;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 m(t){e.state=t}function p(){var t={type:"PRNG"};return t.name=r.NAME,t.state=G(e.state),t.params=void 0===n?[]:[n],t}function f(){return R(e,n)}function l(t){return T(t)||t<0||t>1?NaN:R(e,t)}}var J=A,M=J(),S=t,V=M,x=A;S(V,"factory",x);export default V;
//# sourceMappingURL=geometric.js.map