Source code for discrete_probability.uniform.probability_distribution

from probabilities.discrete_probability.uniform import probability
from probabilities.discrete_probability.base import probability_distribution


[docs]class UniformDiscreteProbabilityDistribution(probability_distribution.DiscreteProbabilityDistribution): def __init__(self, a, b): super().__init__() self.a = a self.b = b @property def _probability_class(self): return probability.UniformDiscreteProbability @property def expected_value(self): return 1 / (self.b - self.a) @property def median(self): return (self.b + self.a) / 2.0 @property def mode(self): return self.expected_value @property def variance(self): return 0 def _get(self, value): if self.a < value < self.b: return self._probability_class(self.expected_value) return self._probability_class(0) def __repr__(self): return "X~U({0:d}, {0:d})".format(self.a, self.b)