package org.jctools.maps.nhbm_test;
import java.util.concurrent.atomic.AtomicLong;
// Fairly fast random numbers
public final class SimpleRandom {
private final static long multiplier = 0x5DEECE66DL;
private final static long addend = 0xBL;
private final static long mask = (1L << 48) - 1;
static final AtomicLong seq = new AtomicLong(-715159705);
private long seed;
public SimpleRandom() {
seed = System.nanoTime() + seq.getAndAdd(129);
}
public int nextInt() {
return next();
}
public int next() {
long nextseed = (seed * multiplier + addend) & mask;
seed = nextseed;
return ((int) (nextseed >>> 17)) & 0x7FFFFFFF;
}
}