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-rng.git

commit 6ba157e75e5be90fd98f72535b36f9f6a25a5d85
Author: Alex Herbert <aherb...@apache.org>
AuthorDate: Wed Jul 31 23:35:38 2019 +0100

    Test the LargeMeanPoissonSampler at small mean.
    
    A small mean is required to hit the case where the sample from the
    normal distribution is rejected.
---
 .../rng/sampling/distribution/DiscreteSamplersList.java       | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java
 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java
index b2be61e..dd57177 100644
--- 
a/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java
+++ 
b/commons-rng-sampling/src/test/java/org/apache/commons/rng/sampling/distribution/DiscreteSamplersList.java
@@ -130,7 +130,7 @@ public final class DiscreteSamplersList {
             add(LIST, new 
org.apache.commons.math3.distribution.PoissonDistribution(unusedRng, 
meanPoisson, epsilonPoisson, maxIterationsPoisson),
                 MathArrays.sequence(10, 0, 1),
                 PoissonSampler.of(RandomSource.create(RandomSource.KISS), 
meanPoisson));
-            // Dedicated small mean poisson sampler
+            // Dedicated small mean poisson samplers
             add(LIST, new 
org.apache.commons.math3.distribution.PoissonDistribution(unusedRng, 
meanPoisson, epsilonPoisson, maxIterationsPoisson),
                 MathArrays.sequence(10, 0, 1),
                 
SmallMeanPoissonSampler.of(RandomSource.create(RandomSource.XO_SHI_RO_256_PLUS),
 meanPoisson));
@@ -138,8 +138,13 @@ public final class DiscreteSamplersList {
                 MathArrays.sequence(10, 0, 1),
                 
KempSmallMeanPoissonSampler.of(RandomSource.create(RandomSource.XO_SHI_RO_128_PLUS),
 meanPoisson));
             add(LIST, new 
org.apache.commons.math3.distribution.PoissonDistribution(unusedRng, 
meanPoisson, epsilonPoisson, maxIterationsPoisson),
-                    MathArrays.sequence(10, 0, 1),
-                    
MarsagliaTsangWangDiscreteSampler.Poisson.of(RandomSource.create(RandomSource.XO_SHI_RO_128_PLUS),
 meanPoisson));
+                MathArrays.sequence(10, 0, 1),
+                
MarsagliaTsangWangDiscreteSampler.Poisson.of(RandomSource.create(RandomSource.XO_SHI_RO_128_PLUS),
 meanPoisson));
+            // LargeMeanPoissonSampler should work at small mean.
+            // Note: This hits a code path where the sample from the normal 
distribution is rejected.
+            add(LIST, new 
org.apache.commons.math3.distribution.PoissonDistribution(unusedRng, 
meanPoisson, epsilonPoisson, maxIterationsPoisson),
+                MathArrays.sequence(10, 0, 1),
+                
LargeMeanPoissonSampler.of(RandomSource.create(RandomSource.PCG_MCG_XSH_RR_32), 
meanPoisson));
             // Poisson (40 < mean < 80).
             final double largeMeanPoisson = 67.89;
             add(LIST, new 
org.apache.commons.math3.distribution.PoissonDistribution(unusedRng, 
largeMeanPoisson, epsilonPoisson, maxIterationsPoisson),

Reply via email to