v1
4/4/2018 by bryc -00
disable setup HTML
Setup HTML
<script src="https://cdn.jsdelivr.net/npm/murmurhash3js@3.0.1/murmurhash3js.min.js"></script>
disable setup JavaScript
Setup JavaScript
function arst(a){return a.trim?Array.apply(0,Array(a.length)).map(function(x,i){return a[i].charCodeAt()}):String.fromCharCode.apply(0,a)}
function genarr(r,n=7){for(var a=[],t=9,u=0;u<r;u++,t+=7)n+=t%=253,n=Math.imul(n,911),n+=u,n^=n>>>24,a[u]=255&n;return a}

// Generate two arrays of bytes to hash
var arr1 = genarr(16), arr2 = genarr(4096);

// Array to string for karanlyons/murmurHash3.js
var __arr1 = arst(arr1), __arr2 = arst(arr2);
delete caserun single casemove downdrag and drop case


ready



// From: https://github.com/bryc/code/blob/master/jshash/hashes/murmurhash3_x86_128.js
function MurmurHash3_x86_128(k,a=0){function t(k,a){return k<<a|k>>>32-a}function h(k){return k^=k>>>16,k=Math.imul(k,2246822507),k^=k>>>13,k=Math.imul(k,3266489909),k^=k>>>16}for(var u=597399067,l=2869860233,i=951274213,e=2716044179,m=a^u,M=a^l,c=a^i,s=a^e,n=0,r=-16&k.length;n<r;)k1=k[n+3]<<24|k[n+2]<<16|k[n+1]<<8|k[n],n+=4,k1=Math.imul(k1,u),k1=t(k1,15),k1=Math.imul(k1,l),m=t(m^=k1,19),m+=M,m=Math.imul(m,5)+1444728091,k2=k[n+3]<<24|k[n+2]<<16|k[n+1]<<8|k[n],n+=4,k2=Math.imul(k2,l),k2=t(k2,16),k2=Math.imul(k2,i),M=t(M^=k2,17),M+=c,M=Math.imul(M,5)+197830471,k3=k[n+3]<<24|k[n+2]<<16|k[n+1]<<8|k[n],n+=4,k3=Math.imul(k3,i),k3=t(k3,17),k3=Math.imul(k3,e),c=t(c^=k3,15),c+=s,c=Math.imul(c,5)+2530024501,k4=k[n+3]<<24|k[n+2]<<16|k[n+1]<<8|k[n],n+=4,k4=Math.imul(k4,e),k4=t(k4,18),k4=Math.imul(k4,u),s=t(s^=k4,13),s+=m,s=Math.imul(s,5)+850148119;switch(k1=0,k2=0,k3=0,k4=0,15&k.length){case 15:k4^=k[n+14]<<16;case 14:k4^=k[n+13]<<8;case 13:k4^=k[n+12],k4=Math.imul(k4,e),k4=t(k4,18),k4=Math.imul(k4,u),s^=k4;case 12:k3^=k[n+11]<<24;case 11:k3^=k[n+10]<<16;case 10:k3^=k[n+9]<<8;case 9:k3^=k[n+8],k3=Math.imul(k3,i),k3=t(k3,17),k3=Math.imul(k3,e),c^=k3;case 8:k2^=k[n+7]<<24;case 7:k2^=k[n+6]<<16;case 6:k2^=k[n+5]<<8;case 5:k2^=k[n+4],k2=Math.imul(k2,l),k2=t(k2,16),k2=Math.imul(k2,i),M^=k2;case 4:k1^=k[n+3]<<24;case 3:k1^=k[n+2]<<16;case 2:k1^=k[n+1]<<8;case 1:k1^=k[n],k1=Math.imul(k1,u),k1=t(k1,15),k1=Math.imul(k1,l),m^=k1}return m^=k.length,m+=M^=k.length,m+=c^=k.length,M+=m+=s^=k.length,c+=m,s+=m,m=h(m),m+=M=h(M),m+=c=h(c),[(m+=s=h(s))>>>0,(M+=m)>>>0,(c+=m)>>>0,(s+=m)>>>0]}

MurmurHash3_x86_128(arr1);
MurmurHash3_x86_128(arr2);
delete caserun single casemove upmove downdrag and drop case


ready



// MurmurHash3_x86_128 - From: https://github.com/karanlyons/murmurHash3.js
murmurHash3.x86.hash128(__arr1);
murmurHash3.x86.hash128(__arr2);
delete caserun single casemove updrag and drop case


ready



// MurmurHash3_x64_128 - From: https://github.com/karanlyons/murmurHash3.js
murmurHash3.x64.hash128(__arr1);
murmurHash3.x64.hash128(__arr2);
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN