Skip to content

Releases: bashtage/randomgen

Release 1.20.2

27 Apr 12:24
a3d2d00
Compare
Choose a tag to compare

This is a bug fix and feature release. The highlights are:

  • Fixed a bug in SFC64 the used the wrong value from the Weyl sequence.
  • Added mode="numpy" where the sequence generated is guaranteed to match the sequence produced using the NumPy implementations.
  • Added ExtendedGenerator.random with support for dtype="longdouble" to produce extended precision random floats.

Release 1.20.1

08 Apr 17:57
c7d6173
Compare
Choose a tag to compare

This is a feature and bugfix release.

Two new distributions:

  • Wishart
  • Multivariate Complex Normal

have been added to ExtendedGenerator. There is also one bug fix that can affect standard_gamma when using out.

Release 1.20

19 Mar 17:00
Compare
Choose a tag to compare

This release syncs most upstream changes in Generator. It also fixes two edge case bugs that affect ThreeFry, Philox and AESCounter.

Release 1.19.3

21 Jul 17:10
0d24a3d
Compare
Choose a tag to compare

This is a minor release with two issues:

  • Future proof against setuptools changes and warnings
  • Improve documentation in RDRAND

Release 1.19.2

13 Jul 13:58
8c24046
Compare
Choose a tag to compare

This is a bug-fix release with one fixed issue:

  • Corrected RDRAND to retry on failures with pause between retries. Add a parameter retry which allows the number of retries to be set. It defaults to the Intel recommended value of 10. Also sets an exception when the number of retries has been exhausted (very unlikely). See the RDRAND docstring with unique considerations when using RDRAND that do not occur with deterministic PRNGs.

Release 1.19.1

30 Jun 22:41
Compare
Choose a tag to compare

This is a minor release with two new features:

  • Added Romu which is among the fastest available bit generators.
  • Added SFC64.weyl_increments to simplify generating increments for use in parallel applications of SFC64.
  • Completed QA of all bit generators to at least 4TB.

Release 1.19

23 Jun 11:26
Compare
Choose a tag to compare

This is a feature and bug-fix release. The key new features are:

  • Deprecated Generator and RandomState since these are both available in NumPy.
  • Added ExtendedGenerator which contains features not in numpy.random.Generator.
  • Added UserBitGenerator which allows bit generators to be written in Python or numba.
  • New bit generators:
    • Added PCG64DXSM which is is the 2.0 version of PCG64 and will likely become the default bit generator in NumPy in the near future.
    • Added EFIIX64 (a.k.a. efiix64x48) which is both fast and high-quality.
    • Added SFC64 which supports generating streams using distinct Weyl constants.
    • Added LCG128Mix which supports setting the LCG multiplier, changing the output function (including support for user-defined output functions) and pre- or post-state update generation.
    • Added LXM which generates variates using a mix of two simple, but flawed generators: a Xorshift and a 64-bit LCG. This has been proposed for including in Java.
  • Tested all bit generators using at least 1TB in PractRand in different configurations. This is WIP and all generators will be tested to at least 4TB.
  • Additional features and fixes:
    • Added support for the dxsm and dxsm-128 variants of PCG64. The dxsm variant is the official PCG 2.0 generator.
    • Added support for broadcasting inputs in ExtendedGenerator.multivariate_normal.
    • Added support for the ++ variant of Xoroshiro128.
    • Fixed a bug the produced incorrect results in randomgen.mt19937.MT19937.jumped.
    • Fixed multiple bugs in Generator that were fixed in numpy.random.Generator.

Release 1.18.1

21 Dec 00:13
Compare
Choose a tag to compare

This release brings many breaking changes. Most of these have been implemented using DeprecationWarnings. This has been done to bring randomgen in-line with the API changes of the version going into NumPy.

Change in 1.18.1:

  • Fix a build bug affecting Windows wheel generation (

Changes in 1.18:

  • Dropped support for Python 2.7
  • Synchronized with the randomgen merges into NumPy 1.17 and their fixes coming in 1.18
  • Added support for SeedSequence (and NumPy’s SeedSequence).
  • The .generator method of the bit generators raise NotImplementedError
  • The internal structures that is used in C have been renamed. The main rename is brng_t to bitgen_t
  • Rename RandomGenerator to Generator.
  • Rename randint() to integers().
  • Rename random_integers() to integers().
  • Rename random_sample() to random().
  • Change jump which operated in-place to jumped() which returns a new BitGenerator.
  • Rename Basic RNG to bit generator, which has been consistently applied across the docs and references
  • Add the integer-based SIMD-based Fast Mersenne Twister (SFMT) generator SFMT.
  • Add the 64-bit Mersenne Twister (MT64) generator MT64.
  • Renamed Xoshiro256StarStar to Xoshiro256 and Xoshiro512StarStar to Xoshiro512

Release 1.18

20 Dec 17:24
809ae48
Compare
Choose a tag to compare

This release brings many breaking changes. Most of these have been implemented using DeprecationWarnings. This has been done to bring randomgen in-line with the API changes of the version going into NumPy.

  • Dropped support for Python 2.7
  • Synchronized with the randomgen merges into NumPy 1.17 and their fixes coming in 1.18
  • Added support for SeedSequence (and NumPy’s SeedSequence).
  • The .generator method of the bit generators raise NotImplementedError
  • The internal structures that is used in C have been renamed. The main rename is brng_t to bitgen_t
  • Rename RandomGenerator to Generator.
  • Rename randint() to integers().
  • Rename random_integers() to integers().
  • Rename random_sample() to random().
  • Change jump which operated in-place to jumped() which returns a new BitGenerator.
  • Rename Basic RNG to bit generator, which has been consistently applied across the docs and references
  • Add the integer-based SIMD-based Fast Mersenne Twister (SFMT) generator SFMT.
  • Add the 64-bit Mersenne Twister (MT64) generator MT64.
  • Renamed Xoshiro256StarStar to Xoshiro256 and Xoshiro512StarStar to Xoshiro512

Release v1.16.6

02 Jun 14:47
1282c3d
Compare
Choose a tag to compare

This is a bug fix and performance fix:

  • Changed the default jump step size to phi times the period of the generator for PCG32 and PCG64.
  • Improved the performance of PCG64 on Windows.
  • Improved performance of DSFMT.jump and DSFMT.jumped.
  • Improves backward compatibility of RandomState