File Explorer

/proc/self/root/var/runtime/node_modules/@aws-sdk/node_modules/mnemonist/utils

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

murmurhash3.js1.6 KB · 88 lines
/* eslint no-fallthrough: 0 *//** * Mnemonist MurmurHash 3 * ======================= * * Straightforward implementation of the third version of MurmurHash. * * Note: this piece of code belong to haschisch. */ /** * Various helpers. */function mul32(a, b) {  return (a & 0xffff) * b + (((a >>> 16) * b & 0xffff) << 16) & 0xffffffff;} function sum32(a, b) {  return (a & 0xffff) + (b >>> 16) + (((a >>> 16) + b & 0xffff) << 16) & 0xffffffff;} function rotl32(a, b) {  return (a << b) | (a >>> (32 - b));} /** * MumurHash3 function. * * @param  {number}    seed - Seed. * @param  {ByteArray} data - Data. */module.exports = function murmurhash3(seed, data) {  var c1 = 0xcc9e2d51,      c2 = 0x1b873593,      r1 = 15,      r2 = 13,      m = 5,      n = 0x6b64e654;   var hash = seed,      k1,      i,      l;   for (i = 0, l = data.length - 4; i <= l; i += 4) {    k1 = (      data[i] |      (data[i + 1] << 8) |      (data[i + 2] << 16) |      (data[i + 3] << 24)    );     k1 = mul32(k1, c1);    k1 = rotl32(k1, r1);    k1 = mul32(k1, c2);     hash ^= k1;    hash = rotl32(hash, r2);    hash = mul32(hash, m);    hash = sum32(hash, n);  }   k1 = 0;   switch (data.length & 3) {    case 3:      k1 ^= data[i + 2] << 16;    case 2:      k1 ^= data[i + 1] << 8;    case 1:      k1 ^= data[i];      k1 = mul32(k1, c1);      k1 = rotl32(k1, r1);      k1 = mul32(k1, c2);      hash ^= k1;    default:  }   hash ^= data.length;  hash ^= hash >>> 16;  hash = mul32(hash, 0x85ebca6b);  hash ^= hash >>> 13;  hash = mul32(hash, 0xc2b2ae35);  hash ^= hash >>> 16;   return hash >>> 0;};