| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Link was dead, and this project is neither Numeric nor in CVS any more.
This should have gone into #8381
|
|\
| |
| | |
MAINT: Rebuild lapack lite
|
| |
| |
| |
| | |
These are taken from lapack_litemodule.c and umath_linalg.c.src
|
| | |
|
| |
| |
| |
| | |
This is also defined in python_xerbla.c, where we redefine a python-compatible version
|
| |
| |
| |
| | |
The source used is http://archive.debian.org/debian/pool/main/l/lapack3/lapack3_3.0.20000531a.orig.tar.gz. Originally this was done with a patched f2c, but if the patch isn't provided in the source tree, there's no sensible way to use it
|
|\ \
| | |
| | | |
BUG: Fix MaskedArray.__setitem__
|
| | | |
|
|\ \ \
| | | |
| | | | |
BUG: fix wrong odd determination in packbits
|
| | | |
| | | |
| | | |
| | | | |
closes gh-8637
|
|\ \ \ \
| | | | |
| | | | | |
MAINT: Use getmask where possible
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is subtly different in behaviour - before, if obj._mask == no_mask, the array was not created.
However, this case is not allowed anyway, so this doesn't matter
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
BUG: Fix undefined behaviour induced by bad __array_wrap__
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Now `None` is treated like any other return value, rather than a command
to segfault.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
ENH: Improve the efficiency of indices
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously, this special cased something that needed no special case, and did
addition with zero to encourage broadcasting that would happen anyway.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
DOC: Mention boolean arrays in the ix_ documentation.
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
Fix typo in fill_diagonal docstring.
|
| |/ / / / / |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
BUG: Don't leak internal exceptions when given an empty array
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Fixes #7454
|
|\ \ \ \ \
| | | | | |
| | | | | | |
ENH: umath: ensure ufuncs are well-defined with memory overlapping inputs
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's unlikely we will break backward compatibility, so better
not claim we will do it in the code.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
PyArray_MapIterArrayCopyIfOverlap
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Ensure that results get written to the array returned by
__array_prepare__, if any. This necessitates calling
prepare_ufunc_output on the output arrays that the iterator may replace
with UPDATEIFCOPY'd ones.
Add a test to the test suite --- this code path was untested previously.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Ensure that a copy is made when ufunc output operand overlaps with ufunc
input, and both have internal overlap. The heuristic applied when
iteration order is elementwise is OK only in the absence of internal
overlap.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
NPY_ITER_OVERLAP_ASSUME_ELEMENTWISE
Make the flag name indicate more clearly on what is the precise
assumption made.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Use itertools to go over all permutations rather than trying to do it
manually.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Arrays with zero strides are never "ahead", as the same element is
reused multiple times.
The previous logic was incorrect eg. for stride1==0, stride2<0 and
arr1->data==arr2->data.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
prepare_ufunc_output is allowed to replace the array, because we check
that it's still a view. Also if COPY_IF_OVERLAP made updateifcopy of
op[i], the data will be reflected in the array from __array_prepare__.
The is-a-view check is only bare-bones, but it was so since 61d45eee
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's clearer to explicitly specify which operands are accessed
elementwise, rather than to list exceptions.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
the same
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This adds a new method PyArray_MapIterArrayCopyIfOverlap to the API.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Because the wheremask loop does not write to all elements of the array, it
needs to consider output arrays as READWRITE, in case COPY_IF_OVERLAP makes
temporary copies.
As the iterator may make temporary copies of arrays, make sure to pass those to
__array_prepare__ instead of the originals.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
After this commit, all code paths in PyUFunc_GeneralizedFunction and
PyUFunc_GenericFunction perform input/output operand memory overlap
detection, and make copies to eliminate it.
|