public static int compute1(int x) {
    int lo = 16807 * (x & 0xFFFF);
    int hi = 16807 * (x >>> 16);
    lo += (hi & 0x7FFF) << 16;
    if ((lo & 0x80000000) != 0) {
      lo &= 0x7fffffff;
      ++lo;
    }
    lo += hi >>> 15;
    if (lo == 0 || (lo & 0x80000000) != 0) {
      lo &= 0x7fffffff;
      ++lo;
    }
    return lo;
  }
generates 32 bit pseudo-random numbers. Adapted from http://www.snippets.org
geode-junit/src/main/java/org/apache/geode/internal/util/concurrent/cm/LoopHelpers.java