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