| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | | |
orign is unset at that point but used in the fail goto,
can probably only be triggered by using the C-api wrong.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The priority error fixes np.float_(64) + python_long not working
anymore. The second change reformats the
PyArray_GetAttrString_SuppressException to avoid a possible
heisenbug decrefing an object before use.
|
|\ \ \ \
| | | | |
| | | | | |
BUG: np.ma.compress treated inputs in wrong order; closes #2495
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
ENH: vectorize boolean logical &&, ||, abs and not
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The code ensures the result is identical to a boolean operation even
though this might be unnecessary if bools are used correctly everywhere.
The overhead doesn't matter much as vectorizing single byte operations
hits the memory bandwidth limit very quickly.
Improves performance by about a factor of 5 to 10 depending on the cpu.
These operations currently can't be autovectorized by gcc 4.8.
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
BUG: field assignment in masked array did not reset mask; closes #2403
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The previous behavior when setting a field after indexing to
select an element was suitable for the hard mask case, but
not for the default soft mask. In addition, the _hardmask
value was not being set at all in the mvoid instance. With
this changeset, the _hardmask is passed in and __setitem__
takes it into account.
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
BUG: Revert "ENH: enable unaligned loads on x86"
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit aef286debfd11a62f1c337dea55624cee7fd4d9e.
x86 platform works with unaligned access but the compiler is allowed to assume
all data is aligned to its size by the C standard. This means it can vectorize
instructions peeling only by the size of the type, if the data is not aligned
to this size one ends up with data not correctly aligned for SSE instructions
(16 byte).
So this flag can only be enabled if autovectorization is disabled.
|
|\ \ \ \
| | | | |
| | | | | |
BUG: ma: ma.average didn't handle complex arrays correctly (issue gh-2684)
|
| | | | | |
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
DOC: fix typo in linalg.lstsq doc string
|
| | | | |
|
| | | | |
|
| |/ / |
|
|/ /
| |
| |
| |
| | |
Also edited the 'Parameters' section of the docstring to comply
with the numpy docstring standard.
|
|\ \
| | |
| | | |
ENH: Optimize array creation by avoiding errors
|
| | | |
|
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Maximum data size limitations in the crc32 module cause errors when
reading more than 2 ** 32 bytes from gzip streams. Work around this
issue when reading large arrays from npz files by chunking reads to
256mb.
This appears to resolve bug #2922.
|
| | |
|
|\ \
| | |
| | | |
Poor performance complex strided copies since 1.7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed PyArray_GetStridedCopySwap{Pair,}Fn returns paths that do not swap
the data.
It never triggered because the alignment requirement for complex data
was too low (4-8 bytes) and always fullfiled by the memory allocator.
As this is now fixed it caused failures on sparc with 16 byte long
doubles.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
x86 can handle unaligned load and there is no hand vectorized code in
this file. It would be a serious compiler bug if it adds vectorization
without checking for alignment.
Enables fast complex128 copies which are unaligned on 32 bit gcc unless
compiled with -malign-double.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the workaround of setting the aligned to false unconditionally makes
copying strided complex data extremely slow as it will always do
unaligned elementwise memmoves.
Instead set the alignment requirement for complex types correct in the
dtype to begin with.
Note that on 32 bit gcc complex double will still be aligned to 8 bytes
unless compiled with -malign-double.
It is possible this will introduce new segfaults on architectures
without unaligned loads, but this now indicates a missing alignment
check in the affected code as the array description is correct.
|
|\ \ \
| | | |
| | | | |
min/max and base math vectorization
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
avoids declared but not defined warnings
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Improves performance by ~1.5/3.0 for float/double for inplace or cpu
cached operations
|
| | | |
| | | |
| | | |
| | | | |
Improves performance by ~1.5/3.0 for float/double.
|
|\ \ \ \
| | | | |
| | | | | |
DEP: Deprecate the oldnumeric and numarray modules.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The numarray and oldnumeric modules are deprecated. This is a bit tricky
as raising a DeprecationWarning on import causes an error when tests are
run. To deal with that, a ModuleDeprecationWarning class is added to
numpy and NoseTester is modified to ignore that warning during testing.
Closes #2905
|
|\ \ \ \
| |/ / /
|/| | | |
BUG: Decref subspace when subspace is 0-d in fancy indexing
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Not decrefing it causes a major memory leak. This adapts the
automated tests to cover this case as well and adds refcounting
to it. Replaces some 'skip' with 0s, but I believe the skip
tests are not that important. Added 1-d special case tests
using the same indices as the multi-dim test though.
Thanks to Julian Taylor for noting the bug.
|
|/ /
| |
| | |
PyOS_snprintf is portable and more secure than snprintf.
|
|\ \
| | |
| | | |
Deprecate non integer arguments
|
| | |
| | |
| | |
| | |
| | |
| | | |
This makes the deprecation of bools used as integers complete
from the numpy perspective. It would not be unsensible to move
the bool checks into indexing specific code though.
|
| | | |
|
| | |
| | |
| | |
| | | |
Also minor changes in the documentation.
|
| | | |
|
| | |
| | |
| | |
| | | |
(also minor spelling fix in comments)
|
| | |
| | |
| | |
| | |
| | | |
This function uses npy_intp to in principle support larger then
int sequence lengths.
|
| | | |
|
| | | |
|