summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | 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
* | | | | | | | | | | | Merge pull request #23280 from seberg/init-argsort-bufferCharles Harris2023-02-252-19/+30
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | MAINT: Use strong references/copies for sorting buffer
| * | | | | | | | | | | 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.
* | | | | | | | | | | Merge pull request #23272 from F3eQnxN3RriK/fix-docs-noteSebastian Berg2023-02-241-3/+3
|\ \ \ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / / / |/| | | | | | | | | | DOC: Fix wrong section title
| * | | | | | | | | | 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-239-8/+213
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | 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-143-10/+31
| | | | | | | | | |
| * | | | | | | | | DOC: Refer to bitgenerator and rename bitgenSebastian Berg2023-02-141-3/+3
| | | | | | | | | |
| * | | | | | | | | DOC: Improve docs around generator spawningSebastian Berg2023-02-144-17/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to address Robert Kerns review comments.
| * | | | | | | | | DOC: Add release note and versionadded tagsSebastian Berg2023-02-143-0/+26
| | | | | | | | | |
| * | | | | | | | | 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-2222-732/+774
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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')
| * | | | | | | | | | | BENCH: Add new data generatorSayed Adel2023-02-201-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for fairness and to stabilize the benchmark
| * | | | | | | | | | | BENCH: cover auto-vectorized ufunc operationsSayed Adel2023-02-201-25/+72
| | | | | | | | | | | |
| * | | | | | | | | | | ENH, SIMD: reduce binary size of loops_autovecSayed Adel2023-02-201-35/+74
| | | | | | | | | | | |
| * | | | | | | | | | | BENCH: Clean up ufunc_stridesSayed Adel2023-02-201-139/+103
| | | | | | | | | | | |
| * | | | | | | | | | | BLD, MESON: __builtin_prefetch is not limited to x86Sayed Adel2023-02-201-5/+1
| | | | | | | | | | | |
| * | | | | | | | | | | MAINT, SIMD: fix c++ build when AVX2 intrinsics are in the scopeSayed Adel2023-02-201-8/+8
| | | | | | | | | | | |
| * | | | | | | | | | | ENH, SIMD: dispatch the rest of all ufuncs with fast callsSayed Adel2023-02-206-145/+199
| | | | | | | | | | | |
| * | | | | | | | | | | MAINT, SIMD: fix c++ build when SSE intrinsics are in the scopeSayed Adel2023-02-201-24/+29
| | | | | | | | | | | |
| * | | | | | | | | | | ENH, SIMD: move auto-vectorized inner functions to new dispatchable sourceSayed Adel2023-02-206-195/+182
| | | | | | | | | | | |
| * | | | | | | | | | | MAINT, SIMD: Removes compiler definitions of attribute-based CPU dispatchingSayed Adel2023-02-207-220/+53
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #23190 from ngoldbaum/is-numericCharles Harris2023-02-226-4/+31
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | ENH: add `_is_numeric` attribute for DType classes
| * | | | | | | | | | | | ENH: add _is_numeric attribute for DType classesNathan Goldbaum2023-02-166-5/+32
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #23261 from ngoldbaum/nditer-error-tweakCharles Harris2023-02-221-1/+2
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | MAINT: use full flag name in nditer constructor error
| * | | | | | | | | | | | | MAINT: use full flag name in nditer constructor errorNathan Goldbaum2023-02-221-1/+2
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Merge pull request #23264 from rgommers/ndebug-ifreleaseCharles Harris2023-02-221-0/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BLD: set NDEBUG for release builds with Meson
| * | | | | | | | | | | | | | BLD: set NDEBUG for release builds with MesonRalf Gommers2023-02-221-0/+1
|/ / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [skip ci]
* | | | | | | | | | | | | | Merge pull request #23165 from mattip/meson_windowsRalf Gommers2023-02-2215-25/+189
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BLD: add a meson windows build [ci skip]
| * | | | | | | | | | | | | TST: xfail api entry point test when building with mesonmattip2023-02-222-0/+6
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BLD, TST: reformat yml file and force exit codemattip2023-02-223-59/+64
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | use old way of writing _distributor_init.pymattip2023-02-211-1/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BUG: fix code inside assertmattip2023-02-211-1/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BLD: fix review commentsmattip2023-02-214-16/+33
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | MAINT: minor CI job, comments, and style changes to meson.build filesRalf Gommers2023-02-205-19/+12
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BLD: run the workflow only when appropriatemattip2023-02-201-0/+1
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BUILD: add a windows meson CI job, tweak meson build parameters, fix typomattip2023-02-205-34/+114
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | BUG: use a _invalid_parameter_handler around _fdopen to prevent crashes when ↵Matti Picus2023-02-202-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | call fails
| * | | | | | | | | | | | | BUILD: fixes for MSVCMatti Picus2023-02-205-13/+31
| | | | | | | | | | | | | |