Class Probability

  • All Implemented Interfaces:
    java.io.Serializable

    public class Probability
    extends java.lang.Number
    This class represents a probability, i.e. a double in the interval [0,1].
    Author:
    Matthias Thimm
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Probability ONE
      Constant for probability 1
      static double PRECISION
      The precision for probabilities.
      private static java.util.Random random
      for sampling probabilities.
      private static long serialVersionUID
      For serialization
      private java.lang.Double value
      The actual value of the probability.
      static Probability ZERO
      Constant for probability 0
    • Constructor Summary

      Constructors 
      Constructor Description
      Probability​(java.lang.Double value)
      Creates a new probability with the given value
      Probability​(Probability other)
      Creates a new probability from the given probability
    • Method Summary

      Modifier and Type Method Description
      Probability add​(Probability other)
      Computes the sum of this and the given probability.
      Probability complement()
      Returns the complement of this probability, i.e.
      Probability divide​(java.lang.Double other)
      Divides this probability by given value returns the result.
      Probability divide​(Probability other)
      Divides this probability by other and returns the result.
      double doubleValue()  
      boolean equals​(java.lang.Object obj)  
      float floatValue()  
      java.lang.Double getValue()
      Returns the value of this probability.
      int hashCode()  
      int intValue()  
      boolean isWithinTolerance​(Probability other)
      Checks whether the given probability is "nearly" the same as this probability (given the actual precision).
      long longValue()  
      Probability mult​(java.lang.Double other)
      Computes the product of this probability and the given number.
      Probability mult​(java.lang.Integer other)
      Computes the product of this probability and the given number.
      Probability mult​(Probability other)
      Computes the product of this probability and the given probability.
      boolean sample()
      Returns a sample wrt.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Number

        byteValue, shortValue
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • ONE

        public static final Probability ONE
        Constant for probability 1
      • ZERO

        public static final Probability ZERO
        Constant for probability 0
      • random

        private static final java.util.Random random
        for sampling probabilities.
      • PRECISION

        public static final double PRECISION
        The precision for probabilities. TODO: that should go somewhere else.
        See Also:
        Constant Field Values
      • serialVersionUID

        private static final long serialVersionUID
        For serialization
        See Also:
        Constant Field Values
      • value

        private java.lang.Double value
        The actual value of the probability.
    • Constructor Detail

      • Probability

        public Probability​(java.lang.Double value)
        Creates a new probability with the given value
        Parameters:
        value - a double in the interval [0,1]
      • Probability

        public Probability​(Probability other)
        Creates a new probability from the given probability
        Parameters:
        other - another probability
    • Method Detail

      • complement

        public Probability complement()
        Returns the complement of this probability, i.e. a probability of one minus the value of this probability.
        Returns:
        the complement of this probability.
      • add

        public Probability add​(Probability other)
        Computes the sum of this and the given probability.
        Parameters:
        other - a probability.
        Returns:
        a probability.
      • mult

        public Probability mult​(java.lang.Double other)
        Computes the product of this probability and the given number.
        Parameters:
        other - a number.
        Returns:
        a probability.
      • mult

        public Probability mult​(java.lang.Integer other)
        Computes the product of this probability and the given number.
        Parameters:
        other - a number.
        Returns:
        a probability.
      • mult

        public Probability mult​(Probability other)
        Computes the product of this probability and the given probability.
        Parameters:
        other - a probability.
        Returns:
        a probability.
      • divide

        public Probability divide​(Probability other)
        Divides this probability by other and returns the result.
        Parameters:
        other - a probability.
        Returns:
        a probability.
      • divide

        public Probability divide​(java.lang.Double other)
        Divides this probability by given value returns the result.
        Parameters:
        other - a double value.
        Returns:
        a probability.
      • isWithinTolerance

        public boolean isWithinTolerance​(Probability other)
        Checks whether the given probability is "nearly" the same as this probability (given the actual precision).
        Parameters:
        other - some probability
        Returns:
        "true" if the given probability is "nearly" the same as this one.
      • sample

        public boolean sample()
        Returns a sample wrt. this probability, i.e. with this probability the value returned is "true", otherwise "false"
        Returns:
        "true" with this probability.
      • getValue

        public java.lang.Double getValue()
        Returns the value of this probability.
        Returns:
        the value of this probability.
      • doubleValue

        public double doubleValue()
        Specified by:
        doubleValue in class java.lang.Number
      • floatValue

        public float floatValue()
        Specified by:
        floatValue in class java.lang.Number
      • intValue

        public int intValue()
        Specified by:
        intValue in class java.lang.Number
      • longValue

        public long longValue()
        Specified by:
        longValue in class java.lang.Number
      • toString

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

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object