UNPKG

@stdlib/esm

Version:

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

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