UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 2.42 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import e from"./../../utils/define-nonenumerable-read-only-property.js";import t from"./../../utils/define-nonenumerable-read-only-accessor.js";import n from"./../../utils/define-nonenumerable-read-write-accessor.js";import r from"./../../assert/is-positive-number.js";import o from"./../../assert/is-plain-object.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/ln.js";var g=l;function c(e,t){return-g(1-e())/t}var d=e,h=t,b=n,j=r.isPrimitive,y=o,v=i,w=s,L=a,N=u,E=m.factory,O=p,P=f,T=c;function G(){var e,t,n,r;if(0===arguments.length)n=E();else if(1===arguments.length&&y(arguments[0]))if(w(t=arguments[0],"prng")){if(!v(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");n=t.prng}else n=E(t);else{if(!j(e=arguments[0]))throw new TypeError("invalid argument. First argument must be a positive number. Value: `"+e+"`.");if(arguments.length>1){if(!y(t=arguments[1]))throw new TypeError("invalid argument. Options argument must be an object. Value: `"+t+"`.");if(w(t,"prng")){if(!v(t.prng))throw new TypeError("invalid option. `prng` option must be a pseudorandom number generator function. Option: `"+t.prng+"`.");n=t.prng}else n=E(t)}else n=E()}return d(r=void 0===e?l:f,"NAME","exponential"),t&&t.prng?(d(r,"seed",null),d(r,"seedLength",null),b(r,"state",L(null),N),d(r,"stateLength",null),d(r,"byteLength",null),d(r,"toJSON",L(null)),d(r,"PRNG",n)):(h(r,"seed",o),h(r,"seedLength",i),b(r,"state",u,m),h(r,"stateLength",s),h(r,"byteLength",a),d(r,"toJSON",p),d(r,"PRNG",n),n=n.normalized),r;function o(){return n.seed}function i(){return n.seedLength}function s(){return n.stateLength}function a(){return n.byteLength}function u(){return n.state}function m(e){n.state=e}function p(){var t={type:"PRNG"};return t.name=r.NAME,t.state=P(n.state),t.params=void 0===e?[]:[e],t}function f(){return T(n,e)}function l(e){return O(e)||e<=0?NaN:T(n,e)}}var R=G,x=R(),A=e,J=x,M=G;A(J,"factory",M);export default J; //# sourceMappingURL=exponential.js.map