summaryrefslogtreecommitdiff
path: root/numpy
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | | | | | DOC: fix typosLarry Bradley2023-03-021-5/+5
| | | |_|_|/ / / / / / | | |/| | | | | | | |
| * | | | | | | | | | Merge pull request #23314 from rgommers/depr-product-and-coCharles Harris2023-03-0217-54/+96
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | DEP: deprecate `product`, `cumproduct`, `sometrue`, `alltrue`
| | * | | | | | | | | | MAINT: add dates/versions to deprecations, fix linter complaintRalf Gommers2023-03-022-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [skip cirrus] [skip circle]
| | * | | | | | | | | | DEP: deprecate `product`, `cumproduct`, `sometrue`, `alltrue`Ralf Gommers2023-03-0217-54/+90
| | |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [skip cirrus]
| * | | | | | | | | | BUG: Fix reference counting error in arraydescr_newNathan Goldbaum2023-03-021-1/+0
| |/ / / / / / / / /
| * | | | | | | | | DOC: Fixed meshgrid docstring return type (#23310)Miki Watanabe2023-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meshgrid returns a list of ndarrays. Co-authored-by: 渡邉 美希 <miki.watanabe@watanabenoMacBook-Pro.local>
| * | | | | | | | | Merge pull request #23302 from rgommers/depr-round-aroundCharles Harris2023-03-017-55/+121
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | DEP: deprecate `np.round_`; add `round`/`min`/`max` to the docs
| | * | | | | | | | | MAINT: switch min/max with amin/amax, and add them to html docsRalf Gommers2023-03-014-38/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes gh-13877
| | * | | | | | | | | DOC: add `np.round` to the html docs, and make it the preferred aliasRalf Gommers2023-03-013-15/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function is more commonly called `round`, both in the array API standard and in other array libraries (e.g., PyTorch has `round` but not around). Plus we have `ndarray.round`. `around` is heavily used, so keep it as an alias - but prefer `round`. For both this switch and for keeping the alias, xref gh-13877. Closes gh-19717
| | * | | | | | | | | DEP: deprecate `np.round_`Ralf Gommers2023-02-284-4/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes gh-22617
| * | | | | | | | | | MAINT: allow NPY_DT_NUMERIC flag on user dtypesNathan Goldbaum2023-03-011-3/+5
| |/ / / / / / / / /
| * | | | | | | | | DOC: Update the docstring for `np.round_` to disrecommend it (#22527)Inessa Pawson2023-02-281-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [skip ci]
| * | | | | | | | | BUG: sorting checks `NPY_NEEDS_PYAPI` instead of `NPY_ITEM_REFCOUNT`Nathan Goldbaum2023-02-271-6/+6
| | | | | | | | | |
| * | | | | | | | | rename test functionAlex Rogozhnikov2023-02-261-1/+1
| | | | | | | | | |
| * | | | | | | | | add support for xp.takeAlex Rogozhnikov2023-02-263-0/+46
| | | | | | | | | |
| * | | | | | | | | Merge pull request #23269 from tylerjereddy/treddy_ma_deepcopy_fixSebastian Berg2023-02-262-1/+58
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | BUG: masked array proper deepcopies
| | * | | | | | | | | BUG: PR 23269 revisionsTyler Reddy2023-02-252-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * handle 0-D masked object array deepcopies, with regression test, based on reviewer feedback
| | * | | | | | | | | MAINT: PR 23269 revisionsTyler Reddy2023-02-242-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the deepcopy of masked array object type now also includes the components beyond just `_data`; add a related test case
| | * | | | | | | | | MAINT: PR 23269 revisionsTyler Reddy2023-02-242-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guard masked array `__deepcopy__` special object handling behind `dtype.hasobject`, based on reviewer feedback * masked array `__deepcopy__` for object type handling now deepcopies from `self._data` directly, based on reviewer feedback * add a test case for 2D masked array object deepcopies, since reviewer was not convinced this was working
| | * | | | | | | | | BUG: masked array proper deepcopiesTyler Reddy2023-02-232-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #22556 Fixes #21022 * add regression test and fix for gh-22556, where we were relying on the array `copy` arg to deepcopy a compound object type; I thought about performance issues here, but if you are already in the land of `object` and you are explicitly opting in to `deepcopy`, it seems like performance might be wishful thinking anyway * add regression test and fix for gh-21022--this one was weirder but seems possible to sidestep by not trying to assign a shape of `()` to something that already has shape `()` and a non-writeable `shape` attribute
| * | | | | | | | | | Merge pull request #23279 from seberg/issue-23277Charles Harris2023-02-253-2/+23
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | BUG: Allow no-op clearing of void dtypes
| | * | | | | | | | | | BUG: Allow no-op clearing of void dtypesSebastian Berg2023-02-253-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some void dtypes think they contain objects but don't. Instead of playing whack-a-mole to see if that can be fixed, simply make the clearing a no-op here for them. User dtypes are weirder, it should be OK to pass through. Fixes the error message and use write-unraisable. Closes gh-23277
| * | | | | | | | | | | Merge pull request #23262 from ngoldbaum/public-array-clear-on-dtypeSebastian Berg2023-02-255-71/+117
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | API: expose traversal typedefs and `get_clear_loop` slot
| | * | | | | | | | | | | MAINT: return early from PyArray_FillObjectArray for non-legacy dtypesNathan Goldbaum2023-02-242-24/+17
| | | | | | | | | | | | |
| | * | | | | | | | | | | DOC: reword explanatory commentNathan Goldbaum2023-02-241-10/+5
| | | | | | | | | | | | |
| | * | | | | | | | | | | MAINT: remove out-of-date commentNathan Goldbaum2023-02-241-2/+1
| | | | | | | | | | | | |
| | * | | | | | | | | | | MAINT: initialize non-legacy REFCHK arrays outside PyArray_FillObjectArrayNathan Goldbaum2023-02-242-11/+27
| | | | | | | | | | | | |
| | * | | | | | | | | | | MAINT: fencepost error fix and cleanup for dtype slots setupNathan Goldbaum2023-02-241-4/+4
| | | | | | | | | | | | |
| | * | | | | | | | | | | API: expose traversal typedefs and get_clear_function slotNathan Goldbaum2023-02-244-28/+52
| | | | | | | | | | | | |
| | * | | | | | | | | | | MAINT: refactor custom dtype slot setupNathan Goldbaum2023-02-243-40/+59
| | |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moves some #defines from public to private headers. Also checks for invalid slots between the maximum dtype slot and miminum arrfuncs slot Also moves get_clear_function to a spot where it and only it can be made public
| * | | | | | | | | | | MAINT: Use strong references/copies for sorting bufferSebastian Berg2023-02-252-19/+30
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I accidentally included a start for a cleanup in the other PR which was incorrect because we actually sorted weak references. Sorting weak references buffer is correct, but seems a bit trickier to reason about and also potentially to generalize. This makes sure we have strong references everywhere and fixes the issue seen by pandas. Also adds a (slightly complex) test to cover both the sort and argsort path.
| * | | | | | | | | | DOC: Fix code formattingyuki2023-02-241-1/+1
| | | | | | | | | | |
| * | | | | | | | | | DOC: Fix wrong section titleyuki2023-02-241-2/+2
| | |_|_|/ / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge pull request #23195 from seberg/public-rng-spawnCharles Harris2023-02-235-0/+157
| |\ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | API: Add `rng.spawn()`, `bit_gen.spawn()`, and `bit_gen.seed_seq`
| | * | | | | | | | DOC: Try to add Generator spawning to parallel generation and link itSebastian Berg2023-02-142-4/+10
| | | | | | | | | |
| | * | | | | | | | DOC: Improve docs around generator spawningSebastian Berg2023-02-142-15/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to address Robert Kerns review comments.
| | * | | | | | | | DOC: Add release note and versionadded tagsSebastian Berg2023-02-142-0/+6
| | | | | | | | | |
| | * | | | | | | | API: Add `rng.spawn()`, `bit_gen.spawn()`, and `bit_gen.seed_seq`Sebastian Berg2023-02-145-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the seed sequence interface more public facing by: 1. Adding `BitGenerator.seed_seq` to give clear access to `_seed_seq` 2. Add `spawn()` to both the generator and the bit generator as convenience methods for spawning new instances. I somewhat remember that we always meant to consider making this more public and adding such convenient methods, but did not do so originally. So, now, I do wonder whether it is time to make this fully public? It would be nice to follow up at some point with a bit of best practices. This also doesn't add it to the `RandomState`, although doing it via `RandomState._bit_generator` is of course valid. Can we define as this kind of access as stable enough that downstream libraries could use it? I fear that backcompat with `RandomState` might make adopting newer things like spawning hard for libraries?
| * | | | | | | | | Merge pull request #23255 from seberg/malloc0Charles Harris2023-02-234-34/+74
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | MAINT: Remove malloc(0) calls in linalg and pocketfft
| | * | | | | | | | | MAINT: Only set memory error when we know it was one (and fix second occurance)Sebastian Berg2023-02-211-20/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This assumes lapack errors already report something reasonable, that may not be true, but is a different issue probably.
| | * | | | | | | | | MAINT: Avoid malloc(0) in string (and generic) sortingSebastian Berg2023-02-212-0/+7
| | | | | | | | | | |
| | * | | | | | | | | BUG,MAINT: Avoid malloc(0) in linalg and improve error paths.Sebastian Berg2023-02-211-8/+28
| | | | | | | | | | |
| | * | | | | | | | | MAINT: Simplify temporary dimensions by using static arraySebastian Berg2023-02-211-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using maxdims for this is the typical pattern in NumPy and avoids the malloc call.
| | * | | | | | | | | MAINT: Ensure malloc(0) is not called in pocketfft.cSebastian Berg2023-02-211-6/+9
| | | | | | | | | | |
| * | | | | | | | | | Merge pull request #23153 from seiko2plus/removes_old_cpu_dispatcherCharles Harris2023-02-2219-589/+510
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | SIMD: Get rid of attribute-based CPU dispatching
| | * | | | | | | | | | SIMD: Suppress VSX ambiguous warningsSayed Adel2023-02-213-0/+13
| | | | | | | | | | | |
| | * | | | | | | | | | MAINT, SIMD: fix c++ build when VSX intrinsics are in the scopeSayed Adel2023-02-203-22/+17
| | | | | | | | | | | |
| | * | | | | | | | | | SIMD: Disable auto-vectorization of avx512_skxSayed Adel2023-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Abandon the idea of providing binary objects for AVX512_SKX due to the massive increase in binary size over +400k (striped) with no vast change in performance except for reciprocal on some data types, tested against gcc/12.2.1 build: AVX512_SKX AVX2 ratio [e0e4acb7] [0a56560e] <removes_old_cpu_dispatcher~1> <removes_old_cpu_dispatcher> + 26.0±0.07μs 125±7μs 4.83 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'L') + 26.0±0.04μs 122±4μs 4.71 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'Q') + 25.8±0.01μs 110±0.2μs 4.24 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'q') + 25.9±0.08μs 108±0.6μs 4.18 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'l') + 26.3±0.04μs 43.7±0.04μs 1.66 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'reciprocal'>, 1, 1, 'I') + 1.63±0.03μs 2.39±0.02μs 1.47 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 1.64±0.05μs 2.39±0μs 1.46 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.63±0.05μs 2.37±0.01μs 1.45 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.64±0.04μs 2.37±0.01μs 1.45 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.63±0.01μs 2.36±0.01μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.63±0.01μs 2.35±0μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.64±0.02μs 2.36±0.02μs 1.44 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.35±0μs 1.43 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 8.69±0.07μs 12.5±0.03μs 1.43 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'l') + 8.75±0.09μs 12.4±0.09μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'L') + 8.65±0.09μs 12.3±0.1μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'Q') + 8.63±0.02μs 12.2±0.2μs 1.42 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'q') + 1.63±0μs 2.28±0.01μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.63±0μs 2.27±0μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.63±0μs 2.26±0μs 1.39 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'l') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'Q') + 1.64±0.01μs 2.27±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'L') + 1.72±0.06μs 2.37±0.01μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'q') + 1.64±0.01μs 2.26±0μs 1.38 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.74±0.05μs 2.39±0μs 1.37 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.75±0.08μs 2.37±0.01μs 1.36 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.74±0.03μs 2.35±0.01μs 1.35 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'Q') + 1.75±0.02μs 2.35±0.01μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'L') + 1.75±0.04μs 2.36±0μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.77±0.05μs 2.37±0.01μs 1.34 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'l') + 1.77±0.02μs 2.35±0μs 1.33 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'q') + 1.69±0.01μs 2.20±0.01μs 1.31 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 1.69±0.02μs 2.20±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 1.69±0.02μs 2.21±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.70±0.02μs 2.21±0.01μs 1.30 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 1.70±0.01μs 2.18±0.01μs 1.28 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 1.69±0μs 2.15±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 1.70±0.01μs 2.16±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.71±0.01μs 2.17±0.01μs 1.27 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 886±7ns 1.10±0μs 1.24 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'H') + 895±6ns 1.10±0μs 1.23 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'H') + 897±7ns 1.10±0μs 1.23 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'h') + 4.25±0.02μs 5.03±0.01μs 1.18 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'I') + 1.31±0.02μs 1.54±0μs 1.18 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.31±0.01μs 1.54±0μs 1.17 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 4.27±0.08μs 4.95±0μs 1.16 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'i') + 996±20ns 1.15±0μs 1.16 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'h') + 1.21±0μs 1.40±0μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'b') + 1.33±0.03μs 1.54±0.01μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.19±0μs 1.37±0μs 1.15 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'B') + 1.34±0.01μs 1.53±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 1.32±0.02μs 1.51±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.19±0μs 1.36±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'left_shift'>, 1, 1, 1, 'b') + 1.32±0.01μs 1.50±0μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 1.36±0.01μs 1.54±0.01μs 1.14 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'h') + 1.20±0μs 1.36±0μs 1.13 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'right_shift'>, 1, 1, 1, 'B') + 1.43±0μs 1.61±0.01μs 1.13 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'H') + 1.43±0μs 1.61±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'H') + 1.38±0μs 1.55±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'h') + 1.34±0.01μs 1.51±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.35±0.02μs 1.51±0μs 1.12 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 15.3±0.5μs 17.1±0.03μs 1.11 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'l') + 15.3±0.4μs 17.1±0.06μs 1.11 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'q') + 1.05±0μs 1.16±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'i') + 1.41±0.01μs 1.57±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'b') + 1.34±0.01μs 1.49±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'I') + 1.34±0μs 1.48±0.01μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'i') + 1.05±0.01μs 1.16±0μs 1.11 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_and'>, 1, 1, 1, 'I') + 1.05±0.01μs 1.16±0μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'I') + 1.43±0.02μs 1.58±0.01μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'b') + 15.0±0.3μs 16.6±0.05μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'Q') + 15.1±0.2μs 16.5±0.1μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'l') + 15.0±0.3μs 16.5±0.02μs 1.10 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'l') + 1.06±0μs 1.16±0μs 1.10 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_xor'>, 1, 1, 1, 'i') + 1.50±0.01μs 1.64±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'right_shift'>, 1, 1, 1, 'B') + 1.51±0.01μs 1.64±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'left_shift'>, 1, 1, 1, 'B') + 1.60±0μs 1.74±0.01μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'L') + 15.1±0.5μs 16.4±0.03μs 1.09 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'q') + 1.34±0.01μs 1.45±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'I') + 1.60±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'Q') + 1.60±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'q') + 1.61±0μs 1.74±0μs 1.09 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'logical_or'>, 1, 1, 1, 'l') + 7.23±0.3μs 7.84±0.06μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'sign'>, 1, 1, 'i') + 15.1±0.3μs 16.4±0.05μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'L') + 3.28±0.04μs 3.54±0.01μs 1.08 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'h') + 15.1±0.2μs 16.2±0.02μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'invert'>, 1, 1, 'q') + 1.14±0.01μs 1.23±0.01μs 1.07 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'h') + 1.35±0.01μs 1.44±0.01μs 1.07 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'logical_or'>, 1, 1, 1, 'i') + 15.1±0.1μs 16.2±0.04μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'q') + 7.09±0.1μs 7.59±0.1μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'positive'>, 1, 1, 'i') + 2.60±0.03μs 2.78±0.04μs 1.07 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'h') + 3.29±0.07μs 3.50±0.07μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'conjugate'>, 1, 1, 'H') + 1.16±0μs 1.23±0.01μs 1.06 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_and'>, 1, 1, 1, 'H') + 2.57±0.02μs 2.73±0.01μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'logical_not'>, 1, 1, 'H') + 3.29±0.07μs 3.49±0.03μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'absolute'>, 1, 1, 'H') + 1.18±0μs 1.24±0.01μs 1.06 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'H') + 6.94±0.04μs 7.32±0.1μs 1.06 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'conjugate'>, 1, 1, 'I') + 1.16±0.01μs 1.23±0μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_xor'>, 1, 1, 1, 'h') + 3.17±0.03μs 3.33±0.06μs 1.05 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'positive'>, 1, 1, 'h') + 1.15±0μs 1.21±0.01μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'h') + 1.15±0.01μs 1.21±0μs 1.05 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in0(<ufunc 'logical_or'>, 1, 1, 1, 'H') - 1.04±0.02μs 992±3ns 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'bitwise_and'>, 1, 1, 1, 'b') - 1.00±0.01μs 950±1ns 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'right_shift'>, 1, 1, 1, 'b') - 2.34±0.03μs 2.22±0.01μs 0.95 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'bitwise_xor'>, 1, 1, 1, 'l') - 2.09±0.05μs 1.98±0μs 0.95 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'B') - 7.29±0.1μs 6.90±0.01μs 0.95 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'i') - 2.10±0.06μs 1.98±0μs 0.94 bench_ufunc_strides.UnaryIntContig.time_unary(<ufunc 'square'>, 1, 1, 'b') - 2.34±0.03μs 2.20±0.01μs 0.94 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'right_shift'>, 1, 1, 1, 'l') - 2.24±0.02μs 2.10±0.01μs 0.94 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'subtract'>, 1, 1, 1, 'Q') - 639±2ns 600±0.9ns 0.94 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'multiply'>, 1, 1, 1, 'b') - 640±7ns 596±0.6ns 0.93 bench_ufunc_strides.BinaryIntContig.time_binary(<ufunc 'multiply'>, 1, 1, 1, 'B') - 2.27±0.08μs 2.10±0μs 0.93 bench_ufunc_strides.BinaryIntContig.time_binary_scalar_in1(<ufunc 'subtract'>, 1, 1, 1, 'l')
| | * | | | | | | | | | ENH, SIMD: reduce binary size of loops_autovecSayed Adel2023-02-201-35/+74
| | | | | | | | | | | |
| | * | | | | | | | | | BLD, MESON: __builtin_prefetch is not limited to x86Sayed Adel2023-02-201-5/+1
| | | | | | | | | | | |