@stdlib/random-streams-minstd
Version:
Create a readable stream for a linear congruential pseudorandom number generator (LCG) based on Park and Miller.
14 lines (13 loc) • 4.8 kB
JavaScript
var u=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var c=u(function(le,z){z.exports={objectMode:!1,encoding:null,sep:"\n",copy:!0,siter:1e308,normalized:!1}});var b=u(function(ce,m){
var L=require('@stdlib/assert-is-plain-object/dist'),n=require('@stdlib/assert-has-own-property/dist'),f=require('@stdlib/assert-is-boolean/dist').isPrimitive,R=require('@stdlib/assert-is-nonnegative-number/dist').isPrimitive,v=require('@stdlib/assert-is-string/dist').isPrimitive,N=require('@stdlib/assert-is-positive-integer/dist').isPrimitive,P=require('@stdlib/assert-is-nonnegative-integer/dist').isPrimitive,a=require('@stdlib/error-tools-fmtprodmsg/dist');function k(r,e){return L(e)?n(e,"sep")&&(r.sep=e.sep,!v(r.sep))?new TypeError(a('0rZ2W',"sep",r.sep)):n(e,"objectMode")&&(r.objectMode=e.objectMode,!f(r.objectMode))?new TypeError(a('0rZ2o',"objectMode",r.objectMode)):n(e,"encoding")&&(r.encoding=e.encoding,!v(r.encoding)&&r.encoding!==null)?new TypeError(a('0rZ7n',"encoding",r.encoding)):n(e,"highWaterMark")&&(r.highWaterMark=e.highWaterMark,!R(r.highWaterMark))?new TypeError(a('0rZ4k',"highWaterMark",r.highWaterMark)):n(e,"iter")&&(r.iter=e.iter,!P(r.iter))?new TypeError(a('0rZ2t',"iter",r.iter)):n(e,"siter")&&(r.siter=e.siter,!N(r.siter))?new TypeError(a('0rZ3P',"siter",r.siter)):n(e,"normalized")&&(r.normalized=e.normalized,!f(r.normalized))?new TypeError(a('0rZ2o',"normalized",r.normalized)):(n(e,"seed")&&(r.seed=e.seed),n(e,"state")&&(r.state=e.state),n(e,"copy")&&(r.copy=e.copy),null):new TypeError(a('0rZ2V',e));}m.exports=k
});var p=u(function(fe,y){
var x=require("debug"),W=x("random:streams:minstd");y.exports=W
});var g=u(function(ve,j){
var w=require("readable-stream").Readable,A=require('@stdlib/assert-is-error/dist'),V=require('@stdlib/object-assign/dist'),F=require('@stdlib/utils-inherit/dist'),q=require('@stdlib/utils-define-nonenumerable-property/dist'),s=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),d=require('@stdlib/utils-define-read-only-accessor/dist'),I=require('@stdlib/utils-define-read-write-accessor/dist'),C=require('@stdlib/random-base-minstd/dist').factory,_=require('@stdlib/buffer-from-string/dist'),G=require('@stdlib/utils-next-tick/dist'),J=c(),B=b(),o=p();function D(){return this._prng.seed}function U(){return this._prng.seedLength}function H(){return this._prng.stateLength}function K(){return this._prng.byteLength}function Q(){return this._prng.state}function X(r){this._prng.state=r}function Y(){var r,e;if(!this._destroyed)for(r=!0;r;){if(this._i+=1,this._i>this._iter)return o("Finished generating pseudorandom numbers."),this.push(null);e=this._prng(),o("Generated a new pseudorandom number. Value: %d. Iter: %d.",e,this._i),this._objectMode===!1&&(e=e.toString(),this._i===1?e=_(e):e=_(this._sep+e)),r=this.push(e),this._i%this._siter===0&&this.emit("state",this.state)}}function Z(r){var e;if(this._destroyed)return o("Attempted to destroy an already destroyed stream."),this;return e=this,this._destroyed=!0,G(t),this;function t(){r&&(o("Stream was destroyed due to an error. Error: %s.",A(r)?r.message:JSON.stringify(r)),e.emit("error",r)),o("Closing the stream..."),e.emit("close")}}function i(r){var e,t,h;if(!(this instanceof i))return arguments.length>0?new i(r):new i;if(t=V({},J),arguments.length>0&&(h=B(t,r),h))throw h;return o("Creating a readable stream configured with the following options: %s.",JSON.stringify(t)),w.call(this,t),q(this,"_destroyed",!1),s(this,"_objectMode",t.objectMode),s(this,"_sep",t.sep),s(this,"_iter",t.iter),s(this,"_siter",t.siter),q(this,"_i",0),e=C(t),t.normalized&&(e=e.normalized),s(this,"_prng",e),this}F(i,w);d(i.prototype,"seed",D);d(i.prototype,"seedLength",U);I(i.prototype,"state",Q,X);d(i.prototype,"stateLength",H);d(i.prototype,"byteLength",K);s(i.prototype,"_read",Y);s(i.prototype,"destroy",Z);j.exports=i
});var O=u(function(me,M){
var $=require('@stdlib/assert-is-plain-object/dist'),ee=require('@stdlib/object-assign/dist'),re=require('@stdlib/error-tools-fmtprodmsg/dist'),te=g();function ie(r){var e;if(arguments.length>0){if(e=r,!$(e))throw new TypeError(re('0rZ2V',e));e=ee({},r)}else e={};return e.objectMode=!0,new te(e)}M.exports=ie
});var E=u(function(be,S){
var ne=require('@stdlib/assert-is-plain-object/dist'),ae=require('@stdlib/object-assign/dist'),se=require('@stdlib/error-tools-fmtprodmsg/dist'),ue=g();function oe(r){var e;if(arguments.length>0){if(!ne(r))throw new TypeError(se('0rZ2V',r));e=ae({},r)}else e={};return t;function t(){return new ue(e)}}S.exports=oe
});var T=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),l=g(),de=O(),ge=E();T(l,"objectMode",de);T(l,"factory",ge);module.exports=l;
/** @license Apache-2.0 */
//# sourceMappingURL=index.js.map
;