| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
When an axis argument was given, shuffle was using the original length of
the array instead of the length of the given axis. This meant that, for
example, if an array with shape (2, 10) was shuffled with axis=1, only the
first two columns were shuffled.
|
|
|
|
|
|
| |
Avoid unnecessary use of ctypes in Generators
closes #14131
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fixing segfault error in np.random.permutation(x) where x is str
* removed whitespace
* changing error type to ValueError
* changing error type to ValueError
* changing error type to ValueError
* tests
* changed error to IndexError for backward compatibility with numpy 1.16
* fixes numpy.randomstate.permutation segfault too
* Rolled back to ValueError for Generator.permutation() for all 0-dimensional
* fixes refuige erro and rolls backs to AxisError
|
|\
| |
| | |
MAINT: Rewrite Floyd algorithm
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
- use a simple hash table with linear probing
- adjust heuristic
|
|/ |
|
| |
|
|
|
| |
* BUG: test, fix for big-endian systems
|
|
|
| |
* ENH: Rename seed_seq argument to seed and replace Generator() with default_gen()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary of the changes:
* Move the functions random_hypergeometric_hyp, random_hypergeometric_hrua
and random_hypergeometric from distributions.c to legacy-distributions.c.
These are now the legacy implementation of hypergeometric.
* Add the files logfactorial.c and logfactorial.h,
containing the function logfactorial(int64_t k).
* Add the files random_hypergeometric.c and random_hypergeometric.h,
containing the function random_hypergeometric (the new implementation
of the hypergeometric distribution). See more details below.
* Fix two tests in numpy/random/tests/test_generator_mt19937.py that
used values returned by the hypergeometric distribution. The
new implementation changes the stream, so those tests needed to
be updated.
* Remove another test obviated by an added constraint on the arguments
of hypergeometric.
Details of the rewrite:
If you carefully step through the old function rk_hypergeometric_hyp(),
you'll see that the end result is basically the same as the new function
hypergeometric_sample(), but the new function accomplishes the result with
just integers. The floating point calculations in the old code caused
problems when the arguments were extremely large (explained in more detail
in the unmerged pull request https://github.com/numpy/numpy/pull/9834).
The new version of hypergeometric_hrua() is a new translation of
Stadlober's ratio-of-uniforms algorithm for the hypergeometric
distribution. It fixes a mistake in the old implementation that made the
method less efficient than it could be (see the details in the unmerged
pull request https://github.com/numpy/numpy/pull/11138), and uses a faster
function for computing log(k!).
The HRUA algorithm suffers from loss of floating point precision when
the arguments are *extremely* large (see the comments in github issue
11443). To avoid these problems, the arguments `ngood` and `nbad` of
hypergeometric must be less than 10**9. This constraint obviates an
existing regression test that was run on systems with 64 bit long
integers, so that test was removed.
|
|
|
|
|
|
|
|
| |
* Flipped the _masked flag to correctly use Lemire's method as suggested in the comment. See related issue https://github.com/numpy/numpy/issues/13769.
* Updated a selection of the unit tests for Lemire's method as opposed to masked rejection sampling.
* Removed comments and prints used during testing.
|
| |
|
|
|
|
| |
journal reference as per Lemire's website; same arxiv link.
|
|
|
| |
* test, fix random.choice sum for non-contiguous
|
|
|
|
| |
Remove version added from Generator since this makes no sense
|
|
|
|
|
|
| |
* DOC, MAINT: Misc. typo fixes
Found via `codespell`
|
|
|
|
|
|
| |
Warn that non-native byte order is not supported in randint and integers
closes #13159
|
|
|
|
|
|
| |
Pep8 fixes
Remove unused imports
Fix name error
|
|
|
|
|
| |
Add docstring for lock
Use __all__ to discuorage unless attributes from appearing
|
|
|
|
|
|
| |
Use type-dependent poisson lam max
Make private
Fix backward compat issue in loggam
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
remove numpy.random.gen, BRNG.generator, pcg*, rand, randn
remove use_mask and Lemire's method, fix benchmarks for PCG removal
convert brng to bitgen (in C) and bit_generator (in python)
convert base R{NG,andom.*} to BitGenerator, fix last commit
randint -> integers, remove rand, randn, random_integers
RandomGenerator -> Generator, more "basic RNG" -> BitGenerator
random_sample -> random, jump -> jumped, resync with randomgen
Remove derived code from entropy
Port over changes accepted in upstream to protect log(0.0) where relevant
fix doctests for jumped, better document choice
Remove Python 2.7 shims
Use NPY_INLINE to simplify
Fix performance.py to work
Renam directory brng to bit_generators
Fix examples wiht new directory structure
Clarify relationship to historical RandomState
Remove references to .generator
Rename xoshiro256/512starstar
|
|
|
|
| |
Add closed option to randint to simplify some cases
|
|
|
|
|
|
| |
Add path that voids object conversion unless essential
Small doc cleanups related to random_integers
PEP-8 cleanups
|
|
|
|
|
|
| |
Add changes to alow hypergeometric 0
Small syncs and cleanups
Move legacy_distributions.pxd to legacy folder can be deleted
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Improve performance in all cases
Large improvement with size is small
xref numpy/numpy#5299
xref numpy/numpy#2764
xref numpy/numpy#9855
xref numpy/numpy#7810
|
|
|
|
|
|
| |
Standardize returns types for Windows and 32-bit platforms on int64
in choice and randint (default).
Refactor tomaxint to call randint
|
|
|
|
|
|
| |
Extend multinomial to allow broadcasting
Fix zipf changes missed in NumPy
Enable 0 as valid input for hypergeometric
|
|
|
|
|
|
| |
skip doctests that require scipy
move original mtrand module to _mtrand
adjust documentation for namespace change
|
|
remove files that were part of the origal repo
rework randomgen docs to integrate with numpy and fix some links
remove convenience functions, require explicit call to gen.brng
move code out of numpy.random.randomgen into numpy.random
|