Releases: bashtage/randomgen
Release 1.20.2
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 fordtype="longdouble"
to produce extended precision random floats.
Release 1.20.1
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
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
This is a minor release with two issues:
- Future proof against
setuptools
changes and warnings - Improve documentation in
RDRAND
Release 1.19.2
This is a bug-fix release with one fixed issue:
- Corrected
RDRAND
to retry on failures with pause between retries. Add a parameterretry
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 theRDRAND
docstring with unique considerations when usingRDRAND
that do not occur with deterministic PRNGs.
Release 1.19.1
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 ofSFC64
. - Completed QA of all bit generators to at least 4TB.
Release 1.19
This is a feature and bug-fix release. The key new features are:
- Deprecated
Generator
andRandomState
since these are both available in NumPy. - Added
ExtendedGenerator
which contains features not innumpy.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.
- Added
- 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
anddxsm-128
variants ofPCG64
. Thedxsm
variant is the official PCG 2.0 generator. - Added support for broadcasting inputs in
ExtendedGenerator.multivariate_normal
. - Added support for the
++
variant ofXoroshiro128
. - Fixed a bug the produced incorrect results in
randomgen.mt19937.MT19937.jumped
. - Fixed multiple bugs in
Generator
that were fixed innumpy.random.Generator
.
- Added support for the
Release 1.18.1
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
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
This is a bug fix and performance fix:
- Changed the default jump step size to phi times the period of the generator for
PCG32
andPCG64
. - Improved the performance of
PCG64
on Windows. - Improved performance of
DSFMT.jump
andDSFMT.jumped
. - Improves backward compatibility of
RandomState