| 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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Create a legacy implementation of the random_binomial method of
RandomState that does not include the "short-circuit" check for
n == 0 or p == 0. This ensures that the stream of variates
is consistent with the behavior in 1.16.
Closes gh-14522.
|
| |\
| | |
| | | |
ENH: Add axis argument to random.permutation and random.shuffle
|
| | | |
|
| |\ \
| | | |
| | | | |
MAINT: remove the entropy c-extension module
|
| | |/ |
|
| |/
| |
| |
| |
| |
| | |
Fix randint to use 32-bit path when range is exactly 2**32
closes #14189
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
supplied.
|
| | |
|
| | |
|
|/
|
|
| |
distribution
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
* 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.
|
|
|
|
|
| |
Update pcg jump sizes
Wrap advance when too large
|
|
|
| |
* test, fix random.choice sum for non-contiguous
|
|
|
|
|
|
| |
Downcast from searchsorted on Windows to ensure int32 is returned
closes #9867
|
|
|
|
|
|
| |
* DOC, MAINT: Misc. typo fixes
Found via `codespell`
|
|
|
|
|
|
| |
RandomState's argument must be named seed for backward compat
closes #13669
|
|
|
|
|
|
| |
Warn that non-native byte order is not supported in randint and integers
closes #13159
|
|\
| |
| |
| |
| | |
ENH: randomgen
This merges randomgen into numpy, which was originally developed at https://github.com/bashtage/randomgen and provides a new and improved API for random number generation with much new and improved functionality.
|
| | |
|
| |
| |
| |
| |
| |
| | |
Pep8 fixes
Remove unused imports
Fix name error
|
| |
| |
| |
| | |
This reverts commit 17e0070df93f4262908f884dca4b08cb7d0bba7f.
|
| |
| |
| |
| |
| | |
Remove traces of the three removed bit generators
Add lock to Cython examples
|
| |
| |
| |
| | |
Change renamed attribute
|
| |
| |
| |
| | |
Remove test file that is circular when randomgen is in numpy
|
| |
| |
| |
| |
| |
| | |
Use type-dependent poisson lam max
Make private
Fix backward compat issue in loggam
|