Sha256: da348863656c61f49cc1da23b8a3580de57a7e15469f3354e71015995e4946c1
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
// AMD-ID "dojox/math/random/prng4" define("dojox/math/random/prng4", ["dojo", "dojox"], function(dojo, dojox) { dojo.getObject("math.random.prng4", true, dojox); // Copyright (c) 2005 Tom Wu // All Rights Reserved. // See "LICENSE-BigInteger" for details. // prng4.js - uses Arcfour as a PRNG function Arcfour() { this.i = 0; this.j = 0; this.S = new Array(256); } dojo.extend(Arcfour, { init: function(key){ // summary: // Initialize arcfour context // key: int[] // an array of ints, each from [0..255] var i, j, t, S = this.S, len = key.length; for(i = 0; i < 256; ++i){ S[i] = i; } j = 0; for(i = 0; i < 256; ++i){ j = (j + S[i] + key[i % len]) & 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 Arcfour(); }; // Pool size must be a multiple of 4 and greater than 32. // An array of bytes the size of the pool will be passed to init() dojox.math.random.prng4.size = 256; return dojox.math.random.prng4; });
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dojox-rails-0.11.0 | vendor/assets/javascripts/math/random/prng4.js.uncompressed.js |