Summary
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> The paper describes a new algorithm /SplitMix/ for /splittable/ pseudorandom number generator that is quite fast: 9 64 bit arithmetic/logical operations per 64 bits generated. /SplitMix/ is tested with two standard statistical test suites (DieHarder and TestU01, this implementation only using the former) and it appears to be adequate for "everyday" use, such as Monte Carlo algorithms and randomized data structures where speed is important. In particular, it __should not be used for cryptographic or security applications__, because generated sequences of pseudorandom values are too predictable (the mixing functions are easily inverted, and two successive outputs suffice to reconstruct the internal state).
Versions
v0.1.0.3 :: 0/0.1.0.3 :: gentoo
- Modified
- License
- BSD
- Keywords
- amd64 ~arm64 ~ppc64 ~riscv ~x86
- USE flags
- doc hscolour optimised-mixer profile
USE flags
General
- doc
- Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
- hscolour
- Include coloured haskell sources to generated documentation (dev-haskell/hscolour)
- optimised-mixer
- Use JavaScript for mix32
- profile
- Add support for software performance analysis (will likely vary from ebuild to ebuild)
Dependencies
dev-haskell / cabal : A framework for packaging Haskell software
dev-haskell / hscolour : Colourise Haskell code
Runtime Dependencies
Depending packages
dev-haskell / quickcheck : Automatic testing of Haskell programs
dev-haskell / quickcheck-instances : Common quickcheck instances
dev-haskell / random : Pseudo-random number generation
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - hololeap · gentoo
dev-haskell/splitmix: Stabilize for amd64
Signed-off-by: hololeap <hololeap@users.noreply.github.com> Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/splitmix: keyword 0.1.0.3 for ~riscv
Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/splitmix: keyword 0.1.0.3 for ~arm64
Thanks-to: Marcus Comstedt <marcus@mc.pp.se> Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/splitmix: drop 0.0.4
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/splitmix: add 0.1.0.3
Signed-off-by: matoro <matoro@users.noreply.github.com> Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Jakov Smolic · gentoo
dev-haskell/splitmix: update homepage
Package-Manager: Portage-3.0.3, Repoman-3.0.0 Signed-off-by: Jakov Smolic <jakov.smolic@sartura.hr> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Jack Todaro · gentoo
dev-haskell/splitmix: add package
Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>