Skip to content

Release 1.19

Compare
Choose a tag to compare
@bashtage bashtage released this 23 Jun 11:26

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.