MATH-1158. Method "createSampler" overridden in "ConstantRealDistribution".
Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/82f4ce51 Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/82f4ce51 Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/82f4ce51 Branch: refs/heads/feature-MATH-1158 Commit: 82f4ce516c18ef5fb3096f6a90455fce90a5b290 Parents: 1d5f8fa Author: Gilles <er...@apache.org> Authored: Sat Mar 12 02:31:13 2016 +0100 Committer: Gilles <er...@apache.org> Committed: Sat Mar 12 02:31:13 2016 +0100 ---------------------------------------------------------------------- .../distribution/ConstantRealDistribution.java | 20 ++++++++++++++++++++ .../ConstantRealDistributionTest.java | 5 +++-- 2 files changed, 23 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-math/blob/82f4ce51/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java b/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java index 35854a4..862fe75 100644 --- a/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java +++ b/src/main/java/org/apache/commons/math4/distribution/ConstantRealDistribution.java @@ -18,6 +18,7 @@ package org.apache.commons.math4.distribution; import org.apache.commons.math4.exception.OutOfRangeException; +import org.apache.commons.math4.rng.UniformRandomProvider; /** * Implementation of the constant real distribution. @@ -106,6 +107,7 @@ public class ConstantRealDistribution extends AbstractRealDistribution { /** {@inheritDoc} */ @Override + @Deprecated public double sample() { return value; } @@ -115,5 +117,23 @@ public class ConstantRealDistribution extends AbstractRealDistribution { * @param seed (ignored) */ @Override + @Deprecated public void reseedRandomGenerator(long seed) {} + + /** + * {@inheritDoc} + * + * @param rng Not used: distribution contains a single value. + * @return the value of the distribution. + */ + @Override + public RealDistribution.Sampler createSampler(final UniformRandomProvider rng) { + return new RealDistribution.Sampler() { + /** {@inheritDoc} */ + @Override + public double sample() { + return value; + } + }; + } } http://git-wip-us.apache.org/repos/asf/commons-math/blob/82f4ce51/src/test/java/org/apache/commons/math4/distribution/ConstantRealDistributionTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/math4/distribution/ConstantRealDistributionTest.java b/src/test/java/org/apache/commons/math4/distribution/ConstantRealDistributionTest.java index 275d29a..211a670 100644 --- a/src/test/java/org/apache/commons/math4/distribution/ConstantRealDistributionTest.java +++ b/src/test/java/org/apache/commons/math4/distribution/ConstantRealDistributionTest.java @@ -94,9 +94,10 @@ public class ConstantRealDistributionTest extends RealDistributionAbstractTest { @Test @Override public void testSampler() { - ConstantRealDistribution dist = new ConstantRealDistribution(0); + final double value = 12.345; + final RealDistribution.Sampler sampler = new ConstantRealDistribution(value).createSampler(null); for (int i = 0; i < 10; i++) { - Assert.assertEquals(0, dist.sample(), 0); + Assert.assertEquals(value, sampler.sample(), 0); } } }