Class BinomialDistribution

java.lang.Object
com.github.tommyettinger.random.distribution.Distribution
com.github.tommyettinger.random.distribution.BinomialDistribution
All Implemented Interfaces:
Externalizable, Serializable

public class BinomialDistribution extends Distribution
A two-parameter discrete distribution with integer range from 0 (inclusive) to beta (inclusive).
See Also:
  • Constructor Details

    • BinomialDistribution

      public BinomialDistribution()
      Uses an AceRandom, alpha = 0.5, beta = 1 .
    • BinomialDistribution

      public BinomialDistribution(double alpha, int beta)
      Uses an AceRandom and the given beta and alpha.
    • BinomialDistribution

      public BinomialDistribution(EnhancedRandom generator, double alpha, int beta)
      Uses the given EnhancedRandom directly. Uses the given beta and alpha.
  • Method Details

    • getTag

      public String getTag()
      Description copied from class: Distribution
      Gets the tag used to identify this type of Distribution, as a String. This tag should be unique. Unlike the tags for EnhancedRandom types, the names here can vary in length.
      Specified by:
      getTag in class Distribution
      Returns:
      a unique String identifier for this type of Distribution; must be non-null, can be any non-zero length
    • copy

      public BinomialDistribution copy()
      Description copied from class: Distribution
      Returns an exact copy of this Distribution, with the same parameters and a copy of the generator.
      Specified by:
      copy in class Distribution
      Returns:
      an exact copy of this Distribution
    • getAlpha

      public double getAlpha()
    • getBeta

      public int getBeta()
    • getParameterA

      public double getParameterA()
      Description copied from class: Distribution
      Gets the value of parameter "A" as a double. This corresponds to parameter "A" in Distribution.setParameters(double, double, double); it is usually called by some other name in the generator, and may not be stored as a double internally.
      This defaults to always returning Double.NaN, but any parameters a distribution actually uses should be overridden to return the actual parameter, which is almost certainly not going to be NaN. If a getParameter method returns NaN, you can generally safely assume that the parameter is not used by this distribution.
      Overrides:
      getParameterA in class Distribution
      Returns:
      the value of parameter "A" as a double.
    • getParameterB

      public double getParameterB()
      Description copied from class: Distribution
      Gets the value of parameter "B" as a double. This corresponds to parameter "B" in Distribution.setParameters(double, double, double); it is usually called by some other name in the generator, and may not be stored as a double internally.
      This defaults to always returning Double.NaN, but any parameters a distribution actually uses should be overridden to return the actual parameter, which is almost certainly not going to be NaN. If a getParameter method returns NaN, you can generally safely assume that the parameter is not used by this distribution.
      Overrides:
      getParameterB in class Distribution
      Returns:
      the value of parameter "B" as a double.
    • getMaximum

      public double getMaximum()
      Description copied from class: Distribution
      Gets the maximum possible value of distributed random numbers.
      Specified by:
      getMaximum in class Distribution
      Returns:
      the maximum possible value of distributed random numbers
    • getMean

      public double getMean()
      Description copied from class: Distribution
      Gets the mean of distributed random numbers.
      Specified by:
      getMean in class Distribution
      Returns:
      the mean of distributed random numbers
    • getMedian

      public double getMedian()
      Description copied from class: Distribution
      Gets the median of distributed random numbers.
      Specified by:
      getMedian in class Distribution
      Returns:
      the median of distributed random numbers
    • getMinimum

      public double getMinimum()
      Description copied from class: Distribution
      Gets the minimum possible value of distributed random numbers.
      Specified by:
      getMinimum in class Distribution
      Returns:
      the minimum possible value of distributed random numbers
    • getMode

      public double[] getMode()
      Description copied from class: Distribution
      Gets the mode(s) of distributed random numbers.
      Specified by:
      getMode in class Distribution
      Returns:
      the mode(s) of distributed random numbers
    • getVariance

      public double getVariance()
      Description copied from class: Distribution
      Gets the variance of distributed random numbers.
      Specified by:
      getVariance in class Distribution
      Returns:
      the variance of distributed random numbers
    • setParameters

      public boolean setParameters(double a, double b, double c)
      Sets all parameters and returns true if they are valid, otherwise leaves parameters unchanged and returns false.
      Specified by:
      setParameters in class Distribution
      Parameters:
      a - alpha; should be greater than or equal to 0.0 and less than or equal to 1.0
      b - beta; will be cast to an int, and should be greater or equal to 0
      c - ignored
      Returns:
      true if the parameters given are valid and will be used
    • nextDouble

      public double nextDouble()
      Description copied from class: Distribution
      Generates a double using this distribution.
      Specified by:
      nextDouble in class Distribution
      Returns:
      a distributed double
    • sample

      public static double sample(EnhancedRandom generator, double alpha, int beta)