This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-statistics.git
commit 5b67ad1dd7ac2c4e1b704fda3a92ad7a4bccc51b Author: aherbert <aherb...@apache.org> AuthorDate: Mon Oct 3 11:54:54 2022 +0100 Update ZipfDistribution to always use RejectionInversionZipfSampler The RejectionInversionZipfSampler was modified in release 1.5 to allow an exponent of 0. Change fixed seed for ZipfDistributionTest. Seed expansion from primitive seeds has changed in RNG 1.5. --- .../apache/commons/statistics/distribution/ZipfDistribution.java | 9 ++------- .../commons/statistics/distribution/ZipfDistributionTest.java | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java index b9933d5..82bbdde 100644 --- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java +++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/ZipfDistribution.java @@ -18,7 +18,6 @@ package org.apache.commons.statistics.distribution; import org.apache.commons.rng.UniformRandomProvider; -import org.apache.commons.rng.sampling.distribution.DiscreteUniformSampler; import org.apache.commons.rng.sampling.distribution.RejectionInversionZipfSampler; /** @@ -269,11 +268,7 @@ public final class ZipfDistribution extends AbstractDiscreteDistribution { /** {@inheritDoc} */ @Override public DiscreteDistribution.Sampler createSampler(final UniformRandomProvider rng) { - if (exponent > 0) { - // Zipf distribution sampler. - return RejectionInversionZipfSampler.of(rng, numberOfElements, exponent)::sample; - } - // Special case when exponent is zero then the sample is uniform - return DiscreteUniformSampler.of(rng, 1, numberOfElements)::sample; + // Zipf distribution sampler. + return RejectionInversionZipfSampler.of(rng, numberOfElements, exponent)::sample; } } diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java index 640e7ed..e3675f8 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java @@ -114,7 +114,7 @@ class ZipfDistributionTest extends BaseDiscreteDistributionTest { // that all test cases do not fail is 0.999^(32*22) = 0.49442874426 final DiscreteDistribution.Sampler distribution = ZipfDistribution.of(numPoints, exponent).createSampler( - RandomSource.XO_SHI_RO_256_PP.create(6)); + RandomSource.XO_SHI_RO_256_PP.create(1)); final double[] expectedCounts = new double[numPoints]; final long[] observedCounts = new long[numPoints];