import Stochastic.Generator import Stochastic.Distribution.Continuous import Stochastic.Distributions import Stochastic.Distributions.Continuous import System.Directory import System.IO dumpSamples :: (String, [Double]) -> IO () dumpSamples (gen_name, samples) = do _ <- createDirectoryIfMissing True "dist/samples" _ <- withFile ("dist/samples/" ++ gen_name ++ ".dat") WriteMode (\handle -> mapM_ (hPrint handle) samples ) return () cds seed sample_size = [ ("uniform", fst $ rands sample_size $ mkUniform (stdBase seed) ) ,("exponential", fst $ rands sample_size $ mkExp (stdBase seed) 1) ,("normal", fst $ rands sample_size $ mkNormal (stdBase seed) 0 1) ] main :: IO () main = let gens = cds 42 100000 in mapM_ (dumpSamples) gens