Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
DOC: Wrong return type of np.random.choice and wrong variable name in parameter description.
|
|
It's funny because it's fine in EXAMPLE_DOCSTRING.rst.txt that uses the
same example.
|
|
in parameter description.
[ci skip]
|
|
Valgrind complains about memcpy with overlapping address in mtrand.c
It happens when i == j in this loop.
Closer inspection the i == j iteration is not needed (it is a swap).
So, skip it and avoid depending on undefined behavior of memcpy.
related read:
https://sourceware.org/bugzilla/show_bug.cgi?id=12518
|
|
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.
|
|
|
|
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
|
|
|
|
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.
|
|
BUG: fix issue #8250 where np.random.permutation fail.
This reverts commit 7a73bad2d9c04e4f16e87dbed9d7b627327fe814.
Closes #8776.
|
|
BUG: fix issue #8250 when np.array gets called on an invalid sequence
|
|
called on an invalid sequence.
|
|
Unless I am very much mistaken these 'assert_(x,y)' calls should really be 'assert_equal(x,y)'.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also check for invalid bounds when low= and high= are arraylike rather than scalar (closes #8226)
|
|
|
|
Closes #5813.
|
|
BLD: Enable build on AIX
|
|
|
|
declarations
The problem this fix resolves is to ensure that 32-bit and 64-bit functions
(e.g., fclear() and fclear64()) to access/manipulate "large files" are
defined properly - much as GNU and other platforms use one or more of
the defines _FILE_OFFSET_BITS, _LARGEFILE_SOURCE, and _LARGEFILE64_SOURCE.
Without this fix the numpy code only defines flags that are not recognized
in the AIX environment and have no effect in anyway.
The fix applies the AIX convention and does not "export" any of the flags
currently exported. For all other platforms the current flags:
_FILE_OFFSET_BITS, _LARGEFILE_SOURCE, and _LARGEFILE64_SOURCE are "exported".
This fix should not have any impact or side-effect based on the version
of python used.
History:
Starting around 1997 AIX started supporting so-called "large files",
i.e., length > signed 32-bit. In the period 1997-1998 the flag _LARGE_FILES
was established to simplify porting 32-bit applications to 64-bit.
The convention is to define _LARGE_FILES before including any
"system include files" either as an argument to ${CC} (e.g., in ${CFLAGS}
or as the first #define in every source file. This is to ensure that
that no relevant function calls would be redefined later in the build process.
|
|
|
|
Continuation of gh-8071 by removing the duplicate
randint Cython code that is not generated via Tempita.
|
|
Refactors the randint helpers to use a Tempita
template. This will reduce technical debt in the
long run.
|
|
|
|
The strings in error messages were left untouched
|
|
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.
|
|
Allow many distributions to have a scale of 0.
|
|
[ci skip]
|
|
np.random.shuffle will allocate a buffer based on the size of the first
element of an array of strings. If the first element is smaller than
another in the array this buffer will overflow, causing a segfault
when garbage is collected.
Additionally if the array contains objects then one would be left
in the buffer and have it's refcount erroniously decrimented on
function exit, causing that object to be deallocated too early.
To fix this we change the buffer to be an array of int8 of the
the size of the array's dtype, which sidesteps both issues.
Fixes #7710
|
|
At least the gamma generator doesn't support it.
|
|
|
|
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.
|
|
Python 2.7 has a backport of PyCapsule so we no longer need to support
PyCObject. This PR makes that change and removes the no longer needed
mt_compat.h file.
|
|
(in which case a stream of 0's is usually returned (or 1's)).
See #5818.
|
|
|
|
I know int is between 0 and 4294967295, but I think many people that do
not know that will benefit from this comment.
[ci skip]
|
|
TST: Fixed elements being shuffled
|
|
Since shuffle only works along the first dimension, it must be done before
reshape to get reasonable looking data. Did not affect the current tests. I
noticed while working on some scipy code.
Also, made a couple of doc changes to np.random.shuffle.
|
|
E.g.:
np.random.random_sample() uses the GIL for synchronization
np.random.random_sample(1) releases the GIL and uses a separate lock.
This means that both can run simultaneously, causing a data race when mutating
the random number generator's state, which could lead to buffer overflow (from
incrementing state->pos).
The fix here is to always use the separate lock, so that exactly one thread at
a time is mutating the random number generator's state.
|
|
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.
|
|
Closes gh-7203.
|
|
|
|
Specifically the 'Logarithmic distribution' link is fixed.
For others the links or article names are updated.
|