Class ChengBetaSampler
java.lang.Object
org.apache.commons.rng.sampling.distribution.SamplerBase
org.apache.commons.rng.sampling.distribution.ChengBetaSampler
- All Implemented Interfaces:
ContinuousSampler, SharedStateContinuousSampler, SharedStateSampler<SharedStateContinuousSampler>
Sampling from a beta distribution.
Uses Cheng's algorithms for beta distribution sampling:
R. C. H. Cheng, "Generating beta variates with nonintegral shape parameters", Communications of the ACM, 21, 317-322, 1978.
Sampling uses UniformRandomProvider.nextDouble().
- Since:
- 1.0
-
Constructor Summary
ConstructorsConstructorDescriptionChengBetaSampler(UniformRandomProvider rng, double alpha, double beta) Creates a sampler instance. -
Method Summary
Modifier and TypeMethodDescriptionstatic SharedStateContinuousSamplerof(UniformRandomProvider rng, double alpha, double beta) Creates a new beta distribution sampler.doublesample()Creates adoublesample.toString()Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.Methods inherited from class SamplerBase
nextDouble, nextInt, nextInt, nextLongMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ContinuousSampler
samples, samples
-
Constructor Details
-
ChengBetaSampler
Creates a sampler instance.- Parameters:
rng- Generator of uniformly distributed random numbers.alpha- Distribution first shape parameter.beta- Distribution second shape parameter.- Throws:
IllegalArgumentException- ifalpha <= 0orbeta <= 0
-
-
Method Details
-
sample
Creates adoublesample.- Specified by:
samplein interfaceContinuousSampler- Returns:
- a sample.
-
toString
- Overrides:
toStringin classSamplerBase
-
withUniformRandomProvider
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.- Specified by:
withUniformRandomProviderin interfaceSharedStateSampler<SharedStateContinuousSampler>- Parameters:
rng- Generator of uniformly distributed random numbers.- Returns:
- the sampler
- Since:
- 1.3
-
of
Creates a new beta distribution sampler.- Parameters:
rng- Generator of uniformly distributed random numbers.alpha- Distribution first shape parameter.beta- Distribution second shape parameter.- Returns:
- the sampler
- Throws:
IllegalArgumentException- ifalpha <= 0orbeta <= 0- Since:
- 1.3
-