module Stochastic.Uniform (Uniform(..) , stdUniform) where import Helpers import System.Random import Stochastic.Distribution instance ContinuousDistribution Uniform where randDouble uni = rDouble uni data Uniform = Uniform { rDouble :: (Double, Uniform) } stdGen2Uni gen = Uniform { rDouble = mapTuple (id) (stdGen2Uni) (randomR (0,1) gen) } stdUniform s = stdGen2Uni (mkStdGen s)