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