| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
ENH: Speedup ufunc.at when casting is not needed
|
| |
| |
| | |
Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
BENCH: Update MaskedArray Benchmarks
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
PERF: Micro optimize np.linspace
|
| | |
|
|\ \
| |/
|/| |
MAINT: Optimize np.isin and np.in1d for integer arrays
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ENH: Implement string comparison ufuncs (or almost)
This makes all comparison operators and ufuncs work on strings
using the ufunc machinery.
It requires a half-manual "ufunc" to keep supporting void comparisons
and especially `np.compare_chararrays` (that one may have a bit more
overhead now).
In general the new code should be much faster, and has a lot of easier
optimization potential. It is also much simpler since it can outsource
some complexities to the ufunc/iterator machinery.
This further fixes a couple of bugs with byte-swapped strings.
The backward compatibility related change is that using the normal
ufunc machinery means that string comparisons between string and
unicode now give a `FutureWarning` (instead of just False).
* MAINT: Do not use C99 tagged struct init in C++
C++ does not like it (at least not before C++20)... GCC and clang
don't seem to mind, but MSVC seems to.
* BENCH: Add basic string comparison benchmarks
* DOC,STY: Fixup string-comparisons comments based on review
Thanks to Marten's comments, a few clarfications and slight fixups.
* ENH: Use `memcmp` because it may be faster for the byte case
* TST: Improve string and unicode comparison tests.
* MAINT: Use switch statement based on review
As suggested be Serge.
Co-authored-by: Serge Guelton <serge.guelton@telecom-bretagne.eu>
* TST: Make unicode byte-swap test slightly more concrete
The issue is that the `view` needs to use native byte-order, so
just ensure native byte-order for the view, and then do another cast
to get it right.
* BUG: Add `np.compare_chararrays` to test and fix typo
* TST: Add test for empty string comparisons
* TST: Fixup string test based on martens review
* MAINT: Move definitions back into string_ufuncs.h
* MAINT: Use enum class for comparison operator templating
This removes the need for a dynamic (or static) assert in the
switch statement.
* Template version of add_loop to avoid redundant code
* STY: Fixup style, two spaces, error is -1
* STY: Small `string_ufuncs.cpp` fixups based on Serge's review
* MAINT: Fix merge conflict (ensure_dtype_nbo was removed)
Co-authored-by: Serge Guelton <serge.guelton@telecom-bretagne.eu>
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
MAINT,ENH: Rewrite scalar math logic
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit tries to redo the scalar math logic to take some more
care about subclasses, but most of all introduce logic to defer
to the `other` if `self` can be cast to it safely (i.e. it is
the correct promotion).
This makes things much faster and more reliable, since we now use
defer much less to `ufuncs` indirectly.
This ensures that integer overflows are reported more reliably.
Another major point about it, is that this reorganizes the coercion
of Python int, float, complex (and bool).
This should help a bit with switching to "weak" Python scalars.
This may just be a first step on a longer path...
|
|/
|
|
|
|
|
|
|
|
|
| |
Adding the setuptools version to the matrix makes sure that asv
(run through `runtests`) locally works again. I am not quite sure
what changed that I now run into this issue and previously do not
(and neither does the CI runner yet).
There may be a better solution, but this seems fine for now?
Closes gh-21428
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* DOC: contigous -> contiguous
* DOC: enlongated -> elongated
* DOC: thuse -> thus
* DOC: quantityt -> quantity
* DOC: suppled -> supplied
* DOC: intgrally -> integrally
* DOC: assignnent -> assignment
* DOC: homoegeneous -> homogeneous
* DOC: interpereted -> interpreted
* DOC: optimised -> optimized
* DOC: Advantanges -> Advantages
* DOC: realised -> realized
* DOC: parametrizing -> parameterizing
* DOC: realised -> realized
* DOC: intrisics -> intrinsics
* DOC: ablility -> ability
* DOC: intrisic -> intrinsic
* DOC: unversal -> universal
* DOC: machnisms -> mechanisms
* DOC: specfiy -> specify
* DOC: exclution -> exclusion
* DOC: optimzations -> optimizations
* DOC: declrations -> declarations
* DOC: auto-gernreated -> auto-generated
* DOC: it highely recomaned -> it is highly recommended
* DOC: exectuing -> executing
* DOC: strectched -> stretched
* DOC: foriegn -> foreign
* DOC: indeded -> intended
* DOC: multimdimensional -> multidimensional
* DOC: supserseded -> superseded
* DOC: generalisation -> generalization
* FIX: whitespace before comma
|
| |
|
| |
|
|
|
|
|
| |
for all integers, f32 and f64 data types on all
supported architectures via universal intrinsics.
|
|\
| |
| | |
ENH,BENCH: Optimize floor_divide for VSX4/Power10
|
| | |
|
|/ |
|
|
|
|
| |
also covers variant of strides sizes
|
|\
| |
| | |
TST/BENCH: Adding test coverage and benchmarks for floating point umath functions
|
| | |
|
|/ |
|
|
|
|
| |
of NumPy build
|
|
|
|
| |
performance tests
|
|\
| |
| | |
MAINT: Add exception chaining where appropriate
|
| |
| |
| | |
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
|
| |\
| | |
| | |
| | | |
avo-exceptions-chaining
|
| | | |
|
|\ \ \
| |_|/
|/| | |
ENH, SIMD: Dispatch for unsigned floor division
|