-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Fast Splittable PRNG -- -- Pure Haskell implementation of SplitMix described in -- -- Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast -- splittable pseudorandom number generators. In Proceedings of the 2014 -- ACM International Conference on Object Oriented Programming Systems -- Languages & Applications (OOPSLA '14). ACM, New York, NY, USA, -- 453-472. DOI: https://doi.org/10.1145/2660193.2660195 @package splitmix @version 0 -- | SplitMix is a splittable pseudorandom number generator (PRNG) -- that is quite fast. -- -- Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast -- splittable pseudorandom number generators. In Proceedings of the -- 2014 ACM International Conference on Object Oriented Programming -- Systems Languages & Applications (OOPSLA '13). ACM, New York, -- NY, USA, 453-472. DOI: https://doi.org/10.1145/2660193.2660195 module System.Random.SplitMix -- | SplitMix generator state. data SMGen -- | Generate a Word64. nextWord64 :: SMGen -> (Word64, SMGen) -- | Generate an Int. nextInt :: SMGen -> (Int, SMGen) -- | Generate a Double in [0, 1) range. nextDouble :: SMGen -> (Double, SMGen) -- | Split a generator into a two uncorrelated generators. splitSMGen :: SMGen -> (SMGen, SMGen) -- | Preferred way to deterministically construct SMGen. mkSMGen :: Word64 -> SMGen -- | Initialize SMGen using system time. initSMGen :: IO SMGen -- | Derive a new generator instance from the global SMGen using -- splitSMGen. newSMGen :: IO SMGen -- | Create SMGen using seed and gamma. seedSMGen :: Word64 -> Word64 -> SMGen -- | Like seedSMGen but takes a pair. seedSMGen' :: (Word64, Word64) -> SMGen -- | Extract current state of SMGen. unseedSMGen :: SMGen -> (Word64, Word64) instance GHC.Show.Show System.Random.SplitMix.SMGen instance System.Random.RandomGen System.Random.SplitMix.SMGen