You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2021/09/14 12:10:09 UTC
[commons-statistics] 04/08: Use a StableSampler for the Cauchy
distribution
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 23ace290a7ff6abf265e660b5f17ddf25b1f55c3
Author: aherbert <ah...@apache.org>
AuthorDate: Tue Sep 14 11:58:25 2021 +0100
Use a StableSampler for the Cauchy distribution
---
.../commons/statistics/distribution/CauchyDistribution.java | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java
index 9dd0d27..d189025 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/CauchyDistribution.java
@@ -16,6 +16,9 @@
*/
package org.apache.commons.statistics.distribution;
+import org.apache.commons.rng.UniformRandomProvider;
+import org.apache.commons.rng.sampling.distribution.StableSampler;
+
/**
* Implementation of the <a href="http://en.wikipedia.org/wiki/Cauchy_distribution">Cauchy distribution</a>.
*/
@@ -173,4 +176,12 @@ public class CauchyDistribution extends AbstractContinuousDistribution {
public boolean isSupportConnected() {
return true;
}
+
+ /** {@inheritDoc} */
+ @Override
+ public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
+ // Cauchy distribution =
+ // Stable distribution with alpha=1, beta=0, gamma=scale, delta=location (median)
+ return StableSampler.of(rng, 1, 0, getScale(), getMedian())::sample;
+ }
}