JSFiddle - React, Tailwind, and code Playground
by SimoneGianni
HTML
<html>
<body>
</body>
</html>
JavaScript
function DJBHash(cx,cy) {
var hash = 5179531;
var fnv_prime = 0x811C9DC5;
hash += cx;
hash *= fnv_prime;
hash = Math.floor(hash % 0xFFFF);
hash /= cy;
hash *= fnv_prime;
//hash = Math.floor(hash % 0xFFFFFFFF)
return hash;
/*
hash += ((hash * 128) + cx * (hash / 8));
hash = Math.floor(hash%4294967296);
var th = ((hash * 2048) + cy + (hash / 32));
//th = -th - 1;
//var zh = ~th;
//th = (Math.floor(th%4294967296)*-1)-1;
hash += th;
hash = Math.floor(hash%4294967296);
return hash;
*/
}
$(function() {
$('body').append('<div id="stop">STOP</div>');
var stop = false;
$('#stop').click(function() { stop = true; });
$('body').append('<div id="str"/>');
$('body').append('<hr>');
var bitcnt = [];
for (var i = 0; i < 32; i++) {
$('body').append('<div id="f' + i + '"/>');
if (i%8==7) $('body').append('<hr>');
bitcnt[i] = 0;
}
var cnt = 0;
function gonext() {
var h = DJBHash(cnt%1000,cnt/1000);
cnt+=0.1;
for (var i = 0; i < 32; i++) {
if ((h & (1<<i)) != 0) {
bitcnt[i]++;
}
}
}
function goround() {
for (var i = 0; i < 1000; i++) {
if (!stop) gonext();
}
for (var i = 0; i < 32; i++) {
$('#f'+i).text(bitcnt[i]);
}
$('#str').text(cnt);
if (!stop) setTimeout(goround,1000);
}
goround();
});