packages feed

pcg-random 0.1.3.6 → 0.1.3.7

raw patch · 3 files changed

+17/−21 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- System.Random.PCG: instance (Control.Monad.Primitive.PrimMonad m, s Data.Type.Equality.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Gen s) m
- System.Random.PCG.Fast: instance (Control.Monad.Primitive.PrimMonad m, s Data.Type.Equality.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Fast.Gen s) m
- System.Random.PCG.Fast.Pure: instance (Control.Monad.Primitive.PrimMonad m, s Data.Type.Equality.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Fast.Pure.Gen s) m
- System.Random.PCG.Pure: instance (Control.Monad.Primitive.PrimMonad m, s Data.Type.Equality.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Pure.Gen s) m
- System.Random.PCG.Single: instance (Control.Monad.Primitive.PrimMonad m, s Data.Type.Equality.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Single.Gen s) m
+ System.Random.PCG: instance (Control.Monad.Primitive.PrimMonad m, s GHC.Types.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Gen s) m
+ System.Random.PCG.Fast: instance (Control.Monad.Primitive.PrimMonad m, s GHC.Types.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Fast.Gen s) m
+ System.Random.PCG.Fast.Pure: instance (Control.Monad.Primitive.PrimMonad m, s GHC.Types.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Fast.Pure.Gen s) m
+ System.Random.PCG.Pure: instance (Control.Monad.Primitive.PrimMonad m, s GHC.Types.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Pure.Gen s) m
+ System.Random.PCG.Single: instance (Control.Monad.Primitive.PrimMonad m, s GHC.Types.~ Control.Monad.Primitive.PrimState m) => System.Random.PCG.Class.Generator (System.Random.PCG.Single.Gen s) m

Files

pcg-random.cabal view
@@ -1,5 +1,5 @@ name:                pcg-random-version:             0.1.3.6+version:             0.1.3.7 synopsis:            Haskell bindings to the PCG random number generator. description:   PCG is a family of simple fast space-efficient statistically good
src/System/Random/PCG/Fast/Pure.hs view
@@ -92,8 +92,7 @@ type GenST = Gen  -- $setup--- >>> import System.Random.PCG.Fast.Pure--- >>> import System.Random.PCG.Class+-- >>> import System.Random.PCG.Fast.Pure as Fast.Pure -- >>> import Control.Monad  -- internals -----------------------------------------------------------@@ -167,7 +166,7 @@  -- | Generate a new seed using single 'Word64'. -----   >>> initFrozen 0+--   >>> Fast.Pure.initFrozen 0 --   F 1 initFrozen :: Word64 -> FrozenGen initFrozen w = F (w .|. 1)@@ -182,7 +181,7 @@  -- | Initialize a generator a single word. -----   >>> initialize 0 >>= save+--   >>> Fast.Pure.initialize 0 >>= Fast.Pure.save --   F 1 initialize :: PrimMonad m => Word64 -> m (Gen (PrimState m)) initialize a = restore (initFrozen a)@@ -203,11 +202,11 @@ --   \"step\" is a single random 32-bit (or less) 'Variate'. Data types --   such as 'Double' or 'Word64' require two \"steps\".) -----   >>> create >>= \g -> replicateM_ 1000 (uniformW32 g) >> uniformW32 g+--   >>> Fast.Pure.create >>= \g -> replicateM_ 1000 (uniformW32 g) >> uniformW32 g --   3725702568---   >>> create >>= \g -> replicateM_ 500 (uniformD g) >> uniformW32 g+--   >>> Fast.Pure.create >>= \g -> replicateM_ 500 (uniformD g) >> uniformW32 g --   3725702568---   >>> create >>= \g -> advance 1000 g >> uniformW32 g+--   >>> Fast.Pure.create >>= \g -> Fast.Pure.advance 1000 g >> uniformW32 g --   3725702568 advance :: PrimMonad m => Word64 -> Gen (PrimState m) -> m () advance u (G a) = do@@ -219,9 +218,9 @@ -- | Retract the given generator n steps in log(2^64-n) time. This --   is just @advance (-n)@. -----   >>> create >>= \g -> replicateM 3 (uniformW32 g)+--   >>> Fast.Pure.create >>= \g -> replicateM 3 (uniformW32 g) --   [2951688802,2698927131,361549788]---   >>> create >>= \g -> retract 1 g >> replicateM 3 (uniformW32 g)+--   >>> Fast.Pure.create >>= \g -> Fast.Pure.retract 1 g >> replicateM 3 (uniformW32 g) --   [954135925,2951688802,2698927131] retract :: PrimMonad m => Word64 -> Gen (PrimState m) -> m () retract u g = advance (-u) g@@ -268,4 +267,3 @@       P s3 w3 = pair s2       w4 = output s3 -- abandon old state   {-# INLINE split #-}-
src/System/Random/PCG/Pure.hs view
@@ -81,8 +81,7 @@ import System.Random  -- $setup--- >>> import System.Random.PCG.Pure--- >>> import System.Random.PCG.Class+-- >>> import System.Random.PCG.Pure as Pure -- >>> import Control.Monad  type GenIO = Gen RealWorld@@ -219,7 +218,7 @@  -- | Create a new generator from two words. ----- >>> initFrozen 0 0+-- >>> Pure.initFrozen 0 0 -- SetSeq 6364136223846793006 1 initFrozen :: Word64 -> Word64 -> SetSeq initFrozen = start@@ -230,7 +229,7 @@  -- | Initialize a generator a single word. -----   >>> initialize 0 0 >>= save+--   >>> Pure.initialize 0 0 >>= Pure.save --   SetSeq 6364136223846793006 1 initialize :: PrimMonad m => Word64 -> Word64 -> m (Gen (PrimState m)) initialize a b = restore (initFrozen a b)@@ -252,11 +251,11 @@ --   \"step\" is a single random 32-bit (or less) 'Variate'. Data types --   such as 'Double' or 'Word64' require two \"steps\".) -----   >>> create >>= \g -> replicateM_ 1000 (uniformW32 g) >> uniformW32 g+--   >>> Pure.create >>= \g -> replicateM_ 1000 (uniformW32 g) >> uniformW32 g --   3640764222---   >>> create >>= \g -> replicateM_ 500 (uniformD g) >> uniformW32 g+--   >>> Pure.create >>= \g -> replicateM_ 500 (uniformD g) >> uniformW32 g --   3640764222---   >>> create >>= \g -> advance 1000 g >> uniformW32 g+--   >>> Pure.create >>= \g -> Pure.advance 1000 g >> uniformW32 g --   3640764222 advance :: PrimMonad m => Word64 -> Gen (PrimState m) -> m () advance u g@(G a) = do@@ -268,9 +267,9 @@ -- | Retract the given generator n steps in log(2^64-n) time. This --   is just @advance (-n)@. -----   >>> create >>= \g -> replicateM 3 (uniformW32 g)+--   >>> Pure.create >>= \g -> replicateM 3 (uniformW32 g) --   [355248013,41705475,3406281715]---   >>> create >>= \g -> retract 1 g >> replicateM 3 (uniformW32 g)+--   >>> Pure.create >>= \g -> Pure.retract 1 g >> replicateM 3 (uniformW32 g) --   [19683962,355248013,41705475] retract :: PrimMonad m => Word64 -> Gen (PrimState m) -> m () retract u g = advance (-u) g@@ -318,4 +317,3 @@       Pair s3 w3 = pair (SetSeq s2 inc)       Pair s4 w4 = pair (SetSeq s3 inc)   {-# INLINE split #-}-