You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An increasing number QuickCheck implementations build on splittable random number generators to avoid (pseudo-random) dependencies between the seeds passed to, e.g., a pair generator's two component generators. For example,
In this light QCheck should consider building on one as well. For OCaml a few splittable random number generator implementations are already available.
Here's an OCaml implementation from Core: https://github.com/janestreet/splittable_random
Here's another one for OCaml by Xavier: https://github.com/xavierleroy/pringo
There may however be different reasons (dependencies, license, opam-package availability, ...) to write one from scratch instead of going with one of these.
An increasing number QuickCheck implementations build on splittable random number generators to avoid (pseudo-random) dependencies between the seeds passed to, e.g., a pair generator's two component generators. For example,
In this light QCheck should consider building on one as well. For OCaml a few splittable random number generator implementations are already available.
Here's an OCaml implementation from Core: https://github.com/janestreet/splittable_random
Here's another one for OCaml by Xavier: https://github.com/xavierleroy/pringo
There may however be different reasons (dependencies, license, opam-package availability, ...) to write one from scratch instead of going with one of these.
Note, apparently there was a bug in the original SplitMix paper
Guy L. Steele Jr., Doug Lea, and Christine H. Flood
Fast Splittable Pseudorandom Number Generators, OOPSLA 2014.
that made it into a number of implementations - and described in more detail in this blog post: http://www.pcg-random.org/posts/bugs-in-splitmix.html
A kind soul has since filed bug-reports to the different implementations, e.g., here:
xavierleroy/pringo#2
The text was updated successfully, but these errors were encountered: