| /* |
| Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved. |
| Available via Academic Free License >= 2.1 OR the modified BSD license. |
| see: http://dojotoolkit.org/license for details |
| */ |
| |
| |
| 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; |
| })(); |
| } |