Class ChengBetaSampler.BaseChengBetaSampler

    • Field Detail

      • aIsAlphaShape

        protected final boolean aIsAlphaShape
        Flag set to true if a is the beta distribution alpha shape parameter. Otherwise a is the beta distribution beta shape parameter.

        From the original Cheng paper this is equal to the result of: a == a0.

      • a

        protected final double a
        First shape parameter. The meaning of this is dependent on the aIsAlphaShape flag.
      • b

        protected final double b
        Second shape parameter. The meaning of this is dependent on the aIsAlphaShape flag.
      • alpha

        protected final double alpha
        The algorithm alpha factor. This is not the beta distribution alpha shape parameter. It is the sum of the two shape parameters (a + b.
      • logAlpha

        protected final double logAlpha
        The logarithm of the alpha factor.
    • Constructor Detail

      • BaseChengBetaSampler

        BaseChengBetaSampler​(UniformRandomProvider rng,
                             boolean aIsAlphaShape,
                             double a,
                             double b)
        Parameters:
        rng - Generator of uniformly distributed random numbers.
        aIsAlphaShape - true if a is the beta distribution alpha shape parameter.
        a - Distribution first shape parameter.
        b - Distribution second shape parameter.
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • computeX

        protected double computeX​(double w)
        Compute the sample result X.
        If a == a0 deliver X = W/(b + W); otherwise deliver X = b/(b + W).

        The finalisation step is shared between the BB and BC algorithm (as step 5 of the BB algorithm and step 6 of the BC algorithm).

        Parameters:
        w - Algorithm value W.
        Returns:
        the sample value