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)