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];

Reply via email to