diff --git a/src/main/java/gr/james/sampling/LiLSampling.java b/src/main/java/gr/james/sampling/LiLSampling.java index 55b90c6..3367890 100644 --- a/src/main/java/gr/james/sampling/LiLSampling.java +++ b/src/main/java/gr/james/sampling/LiLSampling.java @@ -56,8 +56,10 @@ void init(int sampleSize, Random random) { @Override long skipLength(long streamSize, int sampleSize, Random random) { - final long skip = (long) (Math.log(random.nextDouble()) / Math.log(1 - W)); - W = W * Math.exp(Math.log(random.nextDouble()) / sampleSize); + final double random1 = RandomSamplingUtils.randomExclusive(random); + final double random2 = RandomSamplingUtils.randomExclusive(random); + final long skip = (long) (Math.log(random1) / Math.log(1 - W)); + W = W * Math.exp(Math.log(random2) / sampleSize); return skip; } }