Class AhrensDieterMarsagliaTsangGammaSampler.MarsagliaTsangGammaSampler

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

private static class AhrensDieterMarsagliaTsangGammaSampler.MarsagliaTsangGammaSampler extends AhrensDieterMarsagliaTsangGammaSampler.BaseGammaSampler
Class to sample from the Gamma distribution when the alpha >= 1.
Marsaglia and Tsang, A Simple Method for Generating Gamma Variables. ACM Transactions on Mathematical Software, Volume 26 Issue 3, September, 2000.
  • Field Details

    • ONE_THIRD

      private static final double ONE_THIRD
      1/3.
      See Also:
    • dOptim

      private final double dOptim
      Optimization (see code).
    • cOptim

      private final double cOptim
      Optimization (see code).
    • gaussian

      private final NormalizedGaussianSampler gaussian
      Gaussian sampling.
  • 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