Class AhrensDieterMarsagliaTsangGammaSampler.AhrensDieterGammaSampler

java.lang.Object
org.apache.commons.rng.sampling.distribution.AhrensDieterMarsagliaTsangGammaSampler.BaseGammaSampler
org.apache.commons.rng.sampling.distribution.AhrensDieterMarsagliaTsangGammaSampler.AhrensDieterGammaSampler
All Implemented Interfaces:
ContinuousSampler, SharedStateContinuousSampler, SharedStateSampler<SharedStateContinuousSampler>
Enclosing class:
AhrensDieterMarsagliaTsangGammaSampler

private static final class AhrensDieterMarsagliaTsangGammaSampler.AhrensDieterGammaSampler extends AhrensDieterMarsagliaTsangGammaSampler.BaseGammaSampler
Class to sample from the Gamma distribution when 0 < alpha < 1.
Ahrens, J. H. and Dieter, U., Computer methods for sampling from gamma, beta, Poisson and binomial distributions, Computing, 12, 223-246, 1974.
  • Field Details

    • oneOverAlpha

      private final double oneOverAlpha
      Inverse of "alpha".
    • bGSOptim

      private final double bGSOptim
      Optimization (see code).
  • Constructor Details

  • Method Details

    • sample

      public double sample()
      Description copied from interface: ContinuousSampler
      Creates a double sample.
      Returns:
      a sample.
    • withUniformRandomProvider

      public SharedStateContinuousSampler withUniformRandomProvider(UniformRandomProvider rng)
      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