UNPKG

@stdlib/esm

Version:

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

3 lines 1.93 kB
// 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"./../../utils/constant-function.js";import o from"./../../utils/noop.js";import i from"./../../utils/copy.js";import s from"./../../assert/is-plain-object.js";import a from"./../../assert/is-nonnegative-integer.js";import u from"./../../assert/has-own-property.js";import m from"./../../constants/math/float64-max.js";import l from"./../base/randn.js";import f from"./../../symbol/iterator.js";var p=t,c=e,d=n,g=r,h=o,j=i,y=s,b=a.isPrimitive,v=u,L=m,P=l.factory,G=f;function N(t){var e,n,r,o,i;if(arguments.length>0){if(!y(t))throw new TypeError("invalid argument. Options argument must be an object. Value: `"+t+"`.");if(e=j(t,1),v(e,"iter")){if(!b(e.iter))throw new TypeError("invalid option. `iter` option must be a nonnegative integer. Option: `"+e.iter+"`.")}else e.iter=L;r=P(e),void 0===e.prng&&!1!==e.copy&&(e.state=r.state)}else r=P(),e={iter:L,state:r.state};return i=0,p(n={},"next",s),p(n,"return",a),e&&e.prng?(p(n,"seed",null),p(n,"seedLength",null),d(n,"state",g(null),h),p(n,"stateLength",null),p(n,"byteLength",null)):(c(n,"seed",m),c(n,"seedLength",l),d(n,"state",w,x),c(n,"stateLength",f),c(n,"byteLength",R)),p(n,"PRNG",r.PRNG),G&&p(n,G,u),n;function s(){return i+=1,o||i>e.iter?{done:!0}:{value:r(),done:!1}}function a(t){return o=!0,arguments.length?{value:t,done:!0}:{done:!0}}function u(){return N(e)}function m(){return r.PRNG.seed}function l(){return r.PRNG.seedLength}function f(){return r.PRNG.stateLength}function R(){return r.PRNG.byteLength}function w(){return r.PRNG.state}function x(t){r.PRNG.state=t}}var R=N;export default R; //# sourceMappingURL=randn.js.map