Skip to content

Release 2.1.0

Compare
Choose a tag to compare
@bashtage bashtage released this 04 Oct 11:35
· 6 commits to main since this release
9179520

This is a feature, bug fix, and code clean-up release. This release adds two new bit generators, Tyche and Squares.

  • Added the Tyche PRNG of Neves and Araujo. Supports two variants. One is the original implementation in the 2012 paper. The second implementation matches the version in OpenRand.
  • Added the Squares PRNG of Widynski. Supports two variants. The default uses 5 rounds of the middle square algorithm and outputs a 64-bit value. If variant=32, then 4 rounds are used but only 32 bits returned.
  • Added the helper function squares.generate_keys for Squares. This function can be used to pre-generate keys for use with Squares.
  • Fixed a bug in LCG128Mix that resulted in inc not being correctly set when initialized without a user-provided inc.
  • Refactored the broadcasting helper functions out of randomgen.common to randomgen.broadcast. Tests have been added and some edge case bugs have been found and fixed.
  • Improve test coverage.
  • Additional code clean-up.