Skip to content

Releases: bashtage/randomgen

Release 2.1.1

04 Oct 13:11
7f2acc4
Compare
Choose a tag to compare

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

  • Fix a small packaging error in 2.1.0 that skipped two files used in tests
  • 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.

Release 2.1.0

04 Oct 11:35
9179520
Compare
Choose a tag to compare

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.

Release 2.0.1

23 Sep 14:23
Compare
Choose a tag to compare

The release fixes a packaging issue that resulted in an excessively large source distribution. There are no changes from 2.0.0 other than the reduced sdist size on PyPI.

Release 2.0.0

23 Sep 13:08
Compare
Choose a tag to compare

The randomgen devs are please to announce the release of randomgen 2.0.0.

The key changes in this release:

  • Final compatibility with NumPy 2
  • Minimum NumPy is now 1.22.3.
  • Removed "legacy" seeding in favor of using numpy.random.SeedSequence.
  • Removed the vendored copy of SeedSequence.
  • Deprecated using the mode keyword argument to set the seed mode, since only SeedSequences are supported.
  • Changed randomgen.common.BitGenerator to inherit from numpy.random.BitGenerator so that
    numpy will recognize these as BitGenerators.
  • Removed C distribution functions that are available in NumPy (see libnpyrandom)`.
  • General code cleanup and modernization.

Release 1.26.1

05 Jan 14:02
121280c
Compare
Choose a tag to compare

This is a compatibility release.

  • Support for Cython 3
  • Initial support for NumPy 2

Release 1.26.0

21 Sep 08:38
30f2762
Compare
Choose a tag to compare
  • Fixed a bug that affected the jumped method of Xoroshiro128 where the ** version was swapped with the standard version.
  • Fixed a bug where SeedSequence was not copied when advancing generators using jumped.
  • Small compatibility fixes for change in NumPy.
  • Changes the documentation theme to sphinx-immaterial.
  • Added builds for Python 3.11.
  • Increased the minimum Python to 3.8.

Release 1.23.1

19 Jul 10:38
6e20bd0
Compare
Choose a tag to compare

This release contains a single enhancement:

  • Enable randomgen bit generators to be used with NumPy's Generator or RandomState.

Release 1.23.0

18 Jul 14:21
2aa1ddb
Compare
Choose a tag to compare

This is a major release that removes the deprecated classes Generator and RandomState.

Release 1.21.2

12 Oct 17:53
ea45e16
Compare
Choose a tag to compare

This is a minor release that fixes one bug that is hard to encounter and improves installation.

The one bug fix affects PCG-type generators advance when using Windows or a 32-bit system and advancing more than 2**64 steps.

Release 1.20.3

28 Apr 07:08
817a23a
Compare
Choose a tag to compare

This release removed features not available in Python 3.6 so that the supported Pythons include 3.7 - 3.9.