blo
Version:
blo is a small and fast library to generate Ethereum identicons.
22 lines (21 loc) • 673 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const RANDOM_SCALE = 1 / (1 << 31 >>> 0);
function nextRandom(rseed) {
const t = rseed[0] ^ rseed[0] << 11;
rseed[0] = rseed[1];
rseed[1] = rseed[2];
rseed[2] = rseed[3];
rseed[3] = (rseed[3] ^ rseed[3] >> 19 ^ t ^ t >> 8) >>> 0;
return rseed[3] * RANDOM_SCALE;
}
function randSeed(seed) {
const rseed = new Uint32Array([0, 0, 0, 0]);
for (let i = 0; i < seed.length; i++) {
rseed[i % 4] = (rseed[i % 4] << 5) - rseed[i % 4] + seed.charCodeAt(i);
}
return rseed;
}
exports.nextRandom = nextRandom;
exports.randSeed = randSeed;
//# sourceMappingURL=random.js.map