function mulberry32 (a) {
  return function () {
    var t = a += 0x6D2B79F5;
    t = Math.imul(t ^ t >>> 15, t | 1);
    t ^= t + Math.imul(t ^ t >>> 7, t | 61);
    return ((t ^ t >>> 14) >>> 0) / 4294967296;
  };
}
Random Number Generator
https://stackoverflow.com/questions/521295/seeding-the-random-number-generator-in-javascript/47593316#47593316

@param {Number} seed
@returns {Number}