summaryrefslogtreecommitdiff
path: root/numpy/random/tests/test_random.py
Commit message (Collapse)AuthorAgeFilesLines
* BUG: Missing dirichlet input validationKevin Sheppard2017-08-171-0/+5
| | | | | | | | Dirichlet does not validate inputs and hangs when values are zero. Adds check that values are strictly positive as required by the distribution. closes #2089
* MAINT/DOC: Use builtin when np.{x} is builtins.{x}.Eric Wieser2017-08-051-10/+10
| | | | | | | This is the case for x in {int, bool, str, float, complex, object}. Using the np.{x} version is deceptive as it suggests that there is a difference. This change doesn't affect any external behaviour. The `long` type is missing in python 3, so np.long is still useful
* TST: Remove unittest dependencies in numpy/random/tests.Charles Harris2017-07-241-27/+28
|
* BUG: Buttress handling of extreme values in randintgfyoung2017-05-091-1/+44
|
* BUG: Check for errors when PyInt_AsLong is called in np.randomSimon Gibbons2017-04-021-8/+15
| | | | | | | | | After #8883 was merged it was noticed that the same problem was occuring with calls to PyInt_AsLong. Namely that PyErr_Occoured wasn't being checked if it returned -1 indicating an exception could have been thrown. This PR adds those checks as well as a regression test.
* Fix testSimon Gibbons2017-04-011-1/+1
|
* BUG: Ensure Errors are correctly checked when PyFloat_AsDouble is called.Simon Gibbons2017-04-011-0/+14
| | | | | | | | | | | | | | There was an error in np.random.uniform where if np.random.uniform were called with a type that throwed exceptions when it was converted to a float this exception wouldn't be raised. This bug was due to an issue where PyFloat_AsDouble was called but no check for PyErr_Occurred was performed after. This PR fixes the issue by ensuring that Cython will always emit a call to PyErr_Occurred if PyFloat_AsDouble returns -1.0 Fixes: #8865
* DOC: update docs and comments for move of mailing list to python.orgRalf Gommers2017-03-261-1/+1
|
* MAINT: Remove asbytes where a b prefix would sufficeEric Wieser2017-03-251-2/+1
| | | | | | | | Since we only need to support python 2, we can remove any case where we just pass a single string literal and use the b prefix instead. What we can't do is transform asbytes("tests %d" % num), because %-formatting fails on bytes in python 3.x < 3.5.
* Revert gh-8570.Charles Harris2017-03-131-40/+0
| | | | | | | | BUG: fix issue #8250 where np.random.permutation fail. This reverts commit 7a73bad2d9c04e4f16e87dbed9d7b627327fe814. Closes #8776.
* Merge pull request #8570 from evanlimanto/random-permutation-shuffle-fixEric Wieser2017-03-121-0/+40
|\ | | | | BUG: fix issue #8250 when np.array gets called on an invalid sequence
| * BUG: fix issue #8250 where np.random.permutation fails when np.array gets ↵Evan Limanto2017-03-101-0/+40
| | | | | | | | called on an invalid sequence.
* | BUG: Fix assert statements in random.choice testsMarein Könings2017-02-281-5/+5
|/ | | | Unless I am very much mistaken these 'assert_(x,y)' calls should really be 'assert_equal(x,y)'.
* TST: work around isfinite inconsistency on i386Julian Taylor2017-01-171-1/+3
| | | | | inlined isfinite on i386 does not work for DBL_MAX / 1e17 + DBL_MAX as with extended precision this is not smaller equal than DBL_MAX.
* TST: remove a duplicate test. Closes gh-8447.Ralf Gommers2017-01-061-4/+0
|
* fixed merged testOscar Villellas2017-01-031-14/+8
|
* Merge remote-tracking branch 'numpy-org/master' into mult-normOscar Villellas2017-01-031-94/+916
|\
| * BUG: Better check for invalid bounds in np.random.uniform.Alistair Muldal2016-11-021-0/+2
| | | | | | | | Also check for invalid bounds when low= and high= are arraylike rather than scalar (closes #8226)
| * TST: Use new warnings context manager in all testsSebastian Berg2016-09-021-11/+15
| | | | | | | | | | | | | | | | In some places, just remove aparently unnecessary filters. After this, all cases of ignore filters should be removed from the tests, making testing (even multiple runs) normally fully predictable.
| * Merge pull request #5822 from anntzer/0-scale-distributionsNathaniel J. Smith2016-06-221-0/+40
| |\ | | | | | | Allow many distributions to have a scale of 0.
| | * Don't allow -0. as distribution shape parameter.Antony Lee2016-06-091-0/+10
| | | | | | | | | | | | At least the gamma generator doesn't support it.
| | * Allow many distributions to have a scale of 0.Antony Lee2016-04-061-0/+30
| | | | | | | | | | | | | | | | | | (in which case a stream of 0's is usually returned (or 1's)). See #5818.
| * | MAINT: Ignore DeprecationWarning for random_integers in tests.Charles Harris2016-04-101-9/+13
| |/ | | | | | | | | | | | | | | The warning turned up when the numpy/randome/tests were run using $ python runtests.py -t numpy/random/tests/ It doesn't show when all the tests are run.
| * BUG: Make randint backwards compatible with pandasgfyoung2016-02-191-6/+15
| | | | | | | | | | | | | | | | | | | | The 'pandas' library expects Python integers to be returned, so this commit changes the API so that the default is 'np.int' which converts to native Python integer types when a singleton is being generated with this function. Closes gh-7284.
| * BUG: Enforce dtype for randint singletonsgfyoung2016-02-161-0/+9
| | | | | | | | Closes gh-7203.
| * BUG: One element array inputs get one element arrays returned in np.randomgfyoung2016-01-241-1/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug in np.random methods that would return scalars when passed one-element array inputs. This is because one-element ndarrays can be cast to integers / floats, which is what functions like PyFloat_AsDouble do before converting to the intended data type. This commit changes the check used to determine whether the inputs are purely scalar by converting all inputs to arrays and checking if the resulting shape is an empty tuple (scalar) or not (array). Closes gh-4263.
| * TST: Added broadcasting tests in test_random.pygfyoung2016-01-231-81/+635
| | | | | | | | | | | | Added a whole new suite of tests to ensure that functions in mtrand.pyx which are broadcastable actually broadcast their arguments properly.
| * Revert to non-generative test.Antony Lee2016-01-161-5/+4
| |
| * MAINT: memcpy-based ~4x faster, typed shuffle.Antony Lee2016-01-161-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | Only for 1d-ndarrays exactly, as subtypes (e.g. masked arrays) may not allow direct shuffle of the underlying buffer (in fact, the old implementation destroyed the underlying values of masked arrays while shuffling). Also handles struct-containing-object 1d ndarrays properly. See #6776 for an earlier, less general (but even faster: ~6x) improvement attempt, #5514 for the original issue.
| * DEP: Deprecate random_integersgfyoung2016-01-101-0/+16
| |
| * Merge pull request #6910 from charris/add-64-bit-random-intCharles Harris2016-01-031-0/+77
| |\ | | | | | | ENH: Add dtype argument to random.randint.
| | * TST: Add tests for new randint functionality.Charles Harris2016-01-021-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * check exceptions * check extreme bounds are reachable * check that all values are in the specified bounds * check repeatability of sequences More exact statistical tests would be nice, but that is another project.
| * | MAINT: Cleaned up unused variables and spelling mistakes in np.random modulesgfyoung2015-12-291-1/+1
| |/
| * ENH: Allow random_integers to include the maximum np.iinfo('l').maxgfyoung2015-12-281-0/+11
| | | | | | | | | | | | | | Redistributes the code between the randint and random_integers methods so that we can generate integers up to and including np.iinfo('l').max with random_integers, which previously would have caused an OverflowError.
| * MAINT: minor spelling and grammar correctionsgfyoung2015-12-161-3/+3
| |
| * MAINT: random: allow nonc==0 in noncentral_chisquare.Evgeni Burovski2015-11-021-0/+7
| | | | | | | | | | Noncentral chi-square reduces to a central chi-square, so just defer to that.
* | TST: test multivariate_normal check_valid kwBlake Griffith2015-05-191-12/+28
|/ | | | Test that warnings are or are not raised when check_valid kwarg is used.
* BUG: Fixes random.noncentral_chisquare when 0 < df <= 1behzad nouri2015-04-271-0/+6
| | | | Closes #5766.
* Throws if range is too large for 'random.uniform'Masud Rahman2014-09-281-0/+12
| | | | | | | | This fixes issue #2138 by checking that the range (i.e. high - low) is finite before invoking `rk_uniform`. A test case was added to ensure valid ranges do not throw, but invalid ranges do.
* TST: gnufreebsd has fixed the thread control word lossJulian Taylor2014-09-141-3/+1
| | | | http://lists.alioth.debian.org/pipermail/glibc-bsd-commits/2014-September/004163.html
* Merge pull request #5051 from juliantaylor/thread-test-fixCharles Harris2014-09-061-1/+8
|\ | | | | TST: accept small error in threaded random test
| * TST: accept small error in threaded random testJulian Taylor2014-09-061-1/+8
| | | | | | | | | | | | | | freebsd and windows change x87 precision mode (fctrl bit 8 and 9) from extended to double in child threads so the random numbers cannot be exactly the same from master and child threads. see gh-4909
* | STY: PEP8 fixups for numpy/random.Charles Harris2014-07-311-165/+162
|/
* BUG: avoid infinite loop for small kappa in vonmisesJulian Taylor2014-05-281-0/+6
| | | | | | | rho results in 0. for kappa < 1.4e-8 whch leads to nans appearing and an infinite loop. the second order taylor expansion is more precise up to at least 1e-5. Closes gh-4720
* BUG: reject too large seeds to RandomStateJulian Taylor2014-05-151-0/+29
| | | | | | mtrand accepts seeds larger than 32 bit but silently truncates them back to 32 bit. This can lead to accidentally getting the same random stream for two different seeds, e.g. 1 and 1 + 2**40.
* ENH: replace GIL of random module with a per state lockJulian Taylor2014-05-021-0/+40
| | | | | | | | | | | | | | | The random module currently relies on the GIL for the state synchronization which hampers threading performance. Instead add a lock to the RandomState object and take it for all operations calling into randomkit while releasing the GIL. This allows parallizing random number generation using multiple states or asynchronous generation in a worker thread. Note that with a large number of threads the standard mersenne twister used may exhibit overlap if the number of parallel streams is large compared to the size of the state space, though due to the limited scalability of Python in regards to threads this is likely not a big issue.
* BUG: Explicitly reject nan values for p in binomial(n, p). Fixes #4571.Daniel da Silva2014-04-041-0/+4
| | | | Adds check with np.isnan(p) and raises ValueError if check is positive.
* TST: Add some tests for random.multivariate_normal.Charles Harris2014-03-221-10/+23
| | | | | | | | Explicitly Test that the default shape does not raise a DeprecationWarning. Check that a covariance matrix that is not positive-semidefinite raises a RuntimeWarning.
* BUG: handle non integer types for multinomial/dirichlet sizeJulian Taylor2014-02-221-1/+27
| | | | Closes gh-3173
* BUG: fix shuffling of flexible dtypes and masked arraysJulian Taylor2014-02-131-0/+23
| | | | | closes gh-4270 and gh-3263 also regenerate with cython 0.20.1