module Stochastic.Distribution.Discrete where import Stochastic.Tools class DiscreteDistribution g where rand :: g -> (Int, g) rands :: Int -> g -> ([Int], g) rands n g0 = statefully (rand) n g0 cdf :: g -> Int -> Double cdf' :: g -> Double -> Int pmf :: g -> Int -> Double