Repository: commons-rng
Updated Branches:
  refs/heads/master 313923203 -> 775b3d553


Javadoc.


Project: http://git-wip-us.apache.org/repos/asf/commons-rng/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-rng/commit/2e0d86c5
Tree: http://git-wip-us.apache.org/repos/asf/commons-rng/tree/2e0d86c5
Diff: http://git-wip-us.apache.org/repos/asf/commons-rng/diff/2e0d86c5

Branch: refs/heads/master
Commit: 2e0d86c5515139ea3967de76798f47226ca0f206
Parents: 6828b73
Author: Gilles <er...@apache.org>
Authored: Fri Nov 11 21:59:16 2016 +0100
Committer: Gilles <er...@apache.org>
Committed: Fri Nov 11 21:59:16 2016 +0100

----------------------------------------------------------------------
 .../InverseMethodContinuousSampler.java         | 31 ++++++++++++++++++++
 .../InverseMethodDiscreteSampler.java           | 31 ++++++++++++++++++++
 .../rng/sampling/distribution/package-info.java | 16 +++++++++-
 3 files changed, 77 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-rng/blob/2e0d86c5/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodContinuousSampler.java
----------------------------------------------------------------------
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodContinuousSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodContinuousSampler.java
index 8f71089..b903bbc 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodContinuousSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodContinuousSampler.java
@@ -23,6 +23,37 @@ import 
org.apache.commons.rng.sampling.AbstractContinuousSampler;
  * Distribution sampler that uses the
  * <a href="https://en.wikipedia.org/wiki/Inverse_transform_sampling";>
  * inversion method</a>.
+ *
+ * <p>
+ * It can be used to sample any distribution that provides access to its
+ * <em>inverse cumulative probabilty function</em>.
+ * </p>
+ *
+ * <p>Example:</p>
+ * <pre><source>
+ * import org.apache.commons.math3.distribution.RealDistribution;
+ * import org.apache.commons.math3.distribution.ChiSquaredDistribution;
+ *
+ * import org.apache.commons.rng.simple.RandomSource;
+ * import org.apache.commons.rng.sampling.ContinuousSampler;
+ * import 
org.apache.commons.rng.sampling.distribution.InverseMethodContinuousSampler;
+ * import 
org.apache.commons.rng.sampling.distribution.ContinuousInverseCumulativeProbabilityFunction;
+ *
+ * // Distribution to sample.
+ * final RealDistribution dist = new ChiSquaredDistribution(9);
+ * // Create the sampler.
+ * final ContinuousSampler chiSquareSampler =
+ *     new InverseMethodContinuousSampler(RandomSource.create(RandomSource.MT),
+ *                                        new 
ContinuousInverseCumulativeProbabilityFunction() {
+ *                                            @Override
+ *                                            public double 
inverseCumulativeProbability(double p) {
+ *                                                return 
dist.inverseCumulativeProbability(p);
+ *                                            }
+ *                                        });
+ *
+ * // Generate random deviate.
+ * double random = chiSquareSampler.sample();
+ * </source></pre>
  */
 public class InverseMethodContinuousSampler extends AbstractContinuousSampler {
     /** Inverse cumulative probability function. */

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/2e0d86c5/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodDiscreteSampler.java
----------------------------------------------------------------------
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodDiscreteSampler.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodDiscreteSampler.java
index f80e0a3..5a5c736 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodDiscreteSampler.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/InverseMethodDiscreteSampler.java
@@ -23,6 +23,37 @@ import 
org.apache.commons.rng.sampling.AbstractDiscreteSampler;
  * Distribution sampler that uses the
  * <a href="https://en.wikipedia.org/wiki/Inverse_transform_sampling";>
  * inversion method</a>.
+ *
+ * <p>
+ * It can be used to sample any distribution that provides access to its
+ * <em>inverse cumulative probabilty function</em>.
+ * </p>
+ *
+ * <p>Example:</p>
+ * <pre><source>
+ * import org.apache.commons.math3.distribution.IntegerDistribution;
+ * import org.apache.commons.math3.distribution.BinomialDistribution;
+ *
+ * import org.apache.commons.rng.simple.RandomSource;
+ * import org.apache.commons.rng.sampling.DiscreteSampler;
+ * import 
org.apache.commons.rng.sampling.distribution.InverseMethodDiscreteSampler;
+ * import 
org.apache.commons.rng.sampling.distribution.DiscreteInverseCumulativeProbabilityFunction;
+ *
+ * // Distribution to sample.
+ * final IntegerDistribution dist = new BinomialDistribution(11, 0.56);
+ * // Create the sampler.
+ * final DiscreteSampler binomialSampler =
+ *     new InverseMethodDiscreteSampler(RandomSource.create(RandomSource.MT),
+ *                                      new 
DiscreteInverseCumulativeProbabilityFunction() {
+ *                                          @Override
+ *                                          public int 
inverseCumulativeProbability(double p) {
+ *                                              return 
dist.inverseCumulativeProbability(p);
+ *                                          }
+ *                                      });
+ *
+ * // Generate random deviate.
+ * int random = binomialSampler.sample();
+ * </source></pre>
  */
 public class InverseMethodDiscreteSampler extends AbstractDiscreteSampler {
     /** Inverse cumulative probability function. */

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/2e0d86c5/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/package-info.java
----------------------------------------------------------------------
diff --git 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/package-info.java
 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/package-info.java
index 863fd22..a2b1db5 100644
--- 
a/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/package-info.java
+++ 
b/commons-rng-sampling/src/main/java/org/apache/commons/rng/sampling/distribution/package-info.java
@@ -19,8 +19,22 @@
  * <h3>Distribution samplers</h3>
  *
  * <p>
- * This package contains classes fro sampling from statistical distributions.
+ * This package contains classes for sampling from statistical distributions.
  * </p>
+ *
+ * <p>As of version 1.0, the code for specific distributions was adapted from
+ * the corresponding classes in the development version of "Commons Math" (in
+ * package {@code org.apache.commons.math4.distribution}).
+ * </p>
+ * <p>
+ * When no specific algorithm is provided, one can still sample from any
+ * distribution, using the <em>inverse method</em>, as illustrated in:
+ * <ul>
+ *  <li>{@link 
org.apache.commons.rng.sampling.distribution.InverseMethodDiscreteSampler 
InverseMethodDiscreteSampler}</li>
+ *  <li>{@link 
org.apache.commons.rng.sampling.distribution.InverseMethodContinuousSampler 
InverseMethodContinuousSampler}</li>
+ * </ul>
+ *
+ * Algorithms are described in e.g. <a 
href="http://luc.devroye.org/chapter_nine.pdf";>Luc Devroye (1986)</a>.
  */
 
 package org.apache.commons.rng.sampling.distribution;

Reply via email to