Quick actions

cmd+k|ctrl+k

Navigation

Languages

Pseudo Random Number Generator with Seed

Snippet info

Language

JavaScript

Visibility

public

Author

homam

Created

2019-06-01T11:37:21Z

Updated

2019-06-01T11:37:21Z

function mkRandom(i) {

  var mask = 0xffffffff;
  var m_w = (123456789 + i) & mask;
  var m_z = (987654321 - i) & mask;

  return function random()
  {
      m_z = (36969 * (m_z & 65535) + (m_z >> 16)) & mask;
      m_w = (18000 * (m_w & 65535) + (m_w >> 16)) & mask;
      var result = ((m_z << 16) + (m_w & 65535)) >>> 0;
      result /= 4294967296;
      return result;
  }
}

const rnd = mkRandom(120)

console.log(rnd(), rnd())
INFO