Class LargeMeanPoissonSampler.LargeMeanPoissonSamplerState

  • Enclosing class:
    LargeMeanPoissonSampler

    static final class LargeMeanPoissonSampler.LargeMeanPoissonSamplerState
    extends java.lang.Object
    Encapsulate the state of the sampler. The state is valid for construction of a sampler in the range lambda <= mean < lambda+1.

    This class is immutable.

    See Also:
    getLambda()
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double c1
      Algorithm constant c1.
      private double delta
      Algorithm constant delta.
      private double halfDelta
      Algorithm constant halfDelta.
      private double lambda
      Algorithm constant lambda.
      private double logLambda
      Algorithm constant logLambda.
      private double logLambdaFactorial
      Algorithm constant logLambdaFactorial.
      private double p1
      Algorithm constant p1.
      private double p2
      Algorithm constant p2.
      private double sqrtLambdaPlusHalfDelta
      Algorithm constant sqrtLambdaPlusHalfDelta.
      private double twolpd
      Algorithm constant twolpd.
    • Constructor Summary

      Constructors 
      Constructor Description
      LargeMeanPoissonSamplerState​(double lambda, double logLambda, double logLambdaFactorial, double delta, double halfDelta, double sqrtLambdaPlusHalfDelta, double twolpd, double p1, double p2, double c1)
      Creates the state.
    • Field Detail

      • lambda

        private final double lambda
        Algorithm constant lambda.
      • logLambda

        private final double logLambda
        Algorithm constant logLambda.
      • logLambdaFactorial

        private final double logLambdaFactorial
        Algorithm constant logLambdaFactorial.
      • delta

        private final double delta
        Algorithm constant delta.
      • halfDelta

        private final double halfDelta
        Algorithm constant halfDelta.
      • sqrtLambdaPlusHalfDelta

        private final double sqrtLambdaPlusHalfDelta
        Algorithm constant sqrtLambdaPlusHalfDelta.
      • twolpd

        private final double twolpd
        Algorithm constant twolpd.
      • p1

        private final double p1
        Algorithm constant p1.
      • p2

        private final double p2
        Algorithm constant p2.
      • c1

        private final double c1
        Algorithm constant c1.
    • Constructor Detail

      • LargeMeanPoissonSamplerState

        LargeMeanPoissonSamplerState​(double lambda,
                                     double logLambda,
                                     double logLambdaFactorial,
                                     double delta,
                                     double halfDelta,
                                     double sqrtLambdaPlusHalfDelta,
                                     double twolpd,
                                     double p1,
                                     double p2,
                                     double c1)
        Creates the state.

        The state is valid for construction of a sampler in the range lambda <= mean < lambda+1 where lambda is an integer.

        Parameters:
        lambda - the lambda
        logLambda - the log lambda
        logLambdaFactorial - the log lambda factorial
        delta - the delta
        halfDelta - the half delta
        sqrtLambdaPlusHalfDelta - the sqrt(lambda+half delta)
        twolpd - the two lambda plus delta
        p1 - the p1 constant
        p2 - the p2 constant
        c1 - the c1 constant
    • Method Detail

      • getLambda

        int getLambda()
        Get the lambda value for the state.

        Equal to floor(mean) for a Poisson sampler.

        Returns:
        the lambda value
      • getLambdaRaw

        double getLambdaRaw()
        Returns:
        algorithm constant lambda
      • getLogLambda

        double getLogLambda()
        Returns:
        algorithm constant logLambda
      • getLogLambdaFactorial

        double getLogLambdaFactorial()
        Returns:
        algorithm constant logLambdaFactorial
      • getDelta

        double getDelta()
        Returns:
        algorithm constant delta
      • getHalfDelta

        double getHalfDelta()
        Returns:
        algorithm constant halfDelta
      • getSqrtLambdaPlusHalfDelta

        double getSqrtLambdaPlusHalfDelta()
        Returns:
        algorithm constant sqrtLambdaPlusHalfDelta
      • getTwolpd

        double getTwolpd()
        Returns:
        algorithm constant twolpd
      • getP1

        double getP1()
        Returns:
        algorithm constant p1
      • getP2

        double getP2()
        Returns:
        algorithm constant p2
      • getC1

        double getC1()
        Returns:
        algorithm constant c1