Haskell bindings to the PCG random number generator.


Version on this page:
LTS Haskell 22.29:
Stackage Nightly 2024-07-13:
Latest on Hackage:

See all snapshots pcg-random appears in

BSD-3-Clause licensed by Christopher Chalmers
Maintained by [email protected]
This version can be pinned in stack with:pcg-random-,2559


Build Status Hackage

Haskell bindings to the PCG random number generator http://www.pcg-random.org.

PCG is a family of simple fast space-efficient statistically good algorithms for random number generation. Unlike many general-purpose RNGs, they are also hard to predict.

Implements the standard multiple stream generator as well as the fast, single and unique variants.

The api is very similar to mwc-random but the pcg generator appears to be slightly faster. There is also a pure interface via the random libray.


  • Build with ghc-8.4

  • Fix byte array bugs in System.Random.PCG.Pure

  • Added System.Random.PCG.Pure module.

  • Added System.Random.PCG.Fast.Pure module.

  • Added withFrozen function.

  • Use entropy package for system random generator.

  • Allow primitive-0.6.

  • Add uniformB, a function to generate a bounded random number in [0,b) range. This preforms significantly faster than uniformR (0,b-1).

  • Add type specific versions for uniformR and uniformB.

  • Fix bug when dealing with Word and Int types.