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