prng4.js 819 B

12345678
  1. /*
  2. Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.math.random.prng4"]){dojo._hasResource["dojox.math.random.prng4"]=true;dojo.provide("dojox.math.random.prng4");(function(){function _1(){this.i=0;this.j=0;this.S=new Array(256);};dojo.extend(_1,{init:function(_2){var i,j,t,S=this.S,_3=_2.length;for(i=0;i<256;++i){S[i]=i;}j=0;for(i=0;i<256;++i){j=(j+S[i]+_2[i%_3])&255;t=S[i];S[i]=S[j];S[j]=t;}this.i=0;this.j=0;},next:function(){var t,i,j,S=this.S;this.i=i=(this.i+1)&255;this.j=j=(this.j+S[i])&255;t=S[i];S[i]=S[j];S[j]=t;return S[(t+S[i])&255];}});dojox.math.random.prng4=function(){return new _1();};dojox.math.random.prng4.size=256;})();}