Class ChengBetaSampler.ChengBCBetaSampler
java.lang.Object
org.apache.commons.rng.sampling.distribution.ChengBetaSampler.BaseChengBetaSampler
org.apache.commons.rng.sampling.distribution.ChengBetaSampler.ChengBCBetaSampler
- All Implemented Interfaces:
ContinuousSampler
,SharedStateContinuousSampler
,SharedStateSampler<SharedStateContinuousSampler>
- Enclosing class:
ChengBetaSampler
private static class ChengBetaSampler.ChengBCBetaSampler
extends ChengBetaSampler.BaseChengBetaSampler
Computes one sample using Cheng's BC algorithm, when at least one of beta distribution
alpha
or beta
shape parameters is smaller than 1.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final double
The algorithm beta factor.private final double
The algorithm delta factor.private final double
The algorithm k1 factor.private final double
The algorithm k2 factor.private static final double
1/2.private static final double
1/4.Fields inherited from class org.apache.commons.rng.sampling.distribution.ChengBetaSampler.BaseChengBetaSampler
a, aIsAlphaShape, alpha, b, logAlpha, rng
-
Constructor Summary
ConstructorsModifierConstructorDescription(package private)
ChengBCBetaSampler
(UniformRandomProvider rng, boolean aIsAlphaShape, double a, double b) private
-
Method Summary
Modifier and TypeMethodDescriptiondouble
sample()
Creates adouble
sample.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 org.apache.commons.rng.sampling.distribution.ChengBetaSampler.BaseChengBetaSampler
computeX, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.rng.sampling.distribution.ContinuousSampler
samples, samples
-
Field Details
-
ONE_HALF
private static final double ONE_HALF1/2.- See Also:
-
ONE_QUARTER
private static final double ONE_QUARTER1/4.- See Also:
-
beta
private final double betaThe algorithm beta factor. This is not the beta distribution beta shape parameter. -
delta
private final double deltaThe algorithm delta factor. -
k1
private final double k1The algorithm k1 factor. -
k2
private final double k2The algorithm k2 factor.
-
-
Constructor Details
-
ChengBCBetaSampler
ChengBCBetaSampler(UniformRandomProvider rng, boolean aIsAlphaShape, double a, double b) - Parameters:
rng
- Generator of uniformly distributed random numbers.aIsAlphaShape
- true ifa
is the beta distribution alpha shape parameter.a
- max(alpha, beta) shape parameter.b
- min(alpha, beta) shape parameter.
-
ChengBCBetaSampler
- Parameters:
rng
- Generator of uniformly distributed random numbers.source
- Source to copy.
-
-
Method Details
-
sample
public double sample()Description copied from interface:ContinuousSampler
Creates adouble
sample.- Returns:
- a sample.
-
withUniformRandomProvider
Description copied from interface:SharedStateSampler
Create a new instance of the sampler with the same underlying state using the given uniform random provider as the source of randomness.- Parameters:
rng
- Generator of uniformly distributed random numbers.- Returns:
- the sampler
-