tf-random-0.5: High-quality splittable pseudorandom number generator

Copyright(c) 2012-2013 Michał Pałka
LicenseBSD3
Maintainermichal.palka@chalmers.se
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

System.Random.TF

Description

This module exports System.Random.TF.Gen and System.Random.TF.Init modules without exporting the alternative RandomGen class from System.Random.TF.Gen. To use this class and the Random instances written for it, please import System.Random.TF.Gen and System.Random.TF.Instances directly.

Synopsis

Documentation

data TFGen Source #

The generator type

Instances
Read TFGen Source # 
Instance details

Defined in System.Random.TF.Gen

Show TFGen Source # 
Instance details

Defined in System.Random.TF.Gen

Methods

showsPrec :: Int -> TFGen -> ShowS #

show :: TFGen -> String #

showList :: [TFGen] -> ShowS #

RandomGen TFGen Source # 
Instance details

Defined in System.Random.TF.Gen

Methods

next :: TFGen -> (Int, TFGen) #

genRange :: TFGen -> (Int, Int) #

split :: TFGen -> (TFGen, TFGen) #

RandomGen TFGen Source # 
Instance details

Defined in System.Random.TF.Gen

seedTFGen :: (Word64, Word64, Word64, Word64) -> TFGen Source #

Create a generator from a random seed.

mkSeedTime :: IO (Word64, Word64, Word64, Word64) Source #

Use system time create the random seed. This method of seeding may not be relible.

mkSeedUnix :: IO (Word64, Word64, Word64, Word64) Source #

Use the UNIX special file /dev/urandom to create the seed. Inspired by random-mwc.

newTFGen :: IO TFGen Source #

Derive a new generator instance from the global RNG using split. This is the default way of obtaining a new RNG instance. Initial generator is seeded using mkSeedUnix on UNIX, and mkSeedTime otherwise. This should be eventually replaced with proper seeding.

mkTFGen :: Int -> TFGen Source #

Quick and dirty way of creating a deterministically seeded generator.