| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
xref https://github.com/numpy/numpy/pull/23314
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
xref https://github.com/numpy/numpy/pull/23302
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Xref https://github.com/numpy/numpy/pull/22644 and https://github.com/numpy/numpy/pull/22707
Update modules.pyi
|
| | | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
xref https://github.com/numpy/numpy/pull/18053
|
| | |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
MAINT: Add "noexcept" markers to Cython functions that do not raise exceptions
|
| | | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
declaration.
|
| | | | | | | | | | |
|
| | | |\ \ \ \ \ \ \ |
|
| | | | | | | | | | | |
|
| | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
neutrinoceros/fix_numpy_testing_assert_array_less_docstring
DOC: fix incorrect description of raise condition in numpy.testing.assert_array_less's docstring
|
| | | | |_|_|_|/ / / /
| | |/| | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
numpy.testing.assert_array_less's docstring
|
| | |\ \ \ \ \ \ \ \ \
| | |/ / / / / / / /
| |/| | | | | | | | |
ENH: Make signed/unsigned integer comparisons exact
|
| | | | |_|/ / / / /
| | |/| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
This makes comparisons between signed and unsigned integers exact
by special-casing promotion in comparison to never promote integers
to floats, but rather promote them to uint64 or int64 and use a
specific loop for that purpose.
This is a bit lazy, it doesn't make the scalar paths fast (they never were
though) nor does it try to vectorize the loop.
Thus, for cases that are not int64/uint64 already and require a cast in
either case, it should be a bit slower. OTOH, it was never really fast
and the int64/uint64 mix is probably faster since it avoids casting.
---
Now... the reason I was looking into this was, that I had hoped
it would help with NEP 50/weak scalar typing to allow:
uint64(1) < -1 # annoying that it fails with NEP 50
but, it doesn't actually, because if I use int64 for the -1 then very
large numbers would be a problem...
I could probably(?) add a *specific* "Python integer" ArrayMethod for comparisons
and that could pick `object` dtype and thus get the original Python object
(the loop could then in practice assume a scalar value).
---
In either case, this works, and unless we worry about keeping the behavior
we probably might as well do this.
(Potentially with follow-ups to speed it up.)
|
| | | |_|/ / / / /
| |/| | | | | | |
|
| | |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
ENH: Use AVX512 FP16 ISA for sorting float16 arrays
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
MAINT: Remove gisnan, gisinf, and gisfinite from testing code
|
| | | | |/ / / / / /
| | |/| | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
These were introduced many years ago when ufuncs were buggy and
could return NotImplemented sometimes. This has been fixed for
many years, though.
I suspect the errstate for `isfinite` is not required so removed it.
It was a 12+ year old work-around for warnings that really shouldn't
happen to begin with. (The commit mentions `np.isinf(np.inf)` giving
a warning, which doesn't make sense, I think.)
|
| | |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| |/| | | | | | | |
MAINT: refactor PyArray_Repeat to avoid PyArray_INCREF
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | | | | | | | | | |
|
| | |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
ENH allow for specifying CPU features to enable via `NPY_ENABLE_CPU_FEATURES` environment variable
|
| | | | | | | | | | | |
|
| | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
DOC: Resolve length/index ambiguity in numpy.outer docstring
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Co-authored-by: Pierre Blanchard <Pierre.Blanchard@arm.com>
|
| | | |_|/ / / / / / /
| |/| | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
When I translated range checks for [sin](https://github.com/ARM-software/optimized-routines/blob/91d5bbc3091fa568e6856c7c41f9d7492d5957df/math/v_sin.c#L68):
```c
cmp = v_cond_u64 ((ir >> 52) - TinyBound >= Thresh);
```
and [cos](https://github.com/ARM-software/optimized-routines/blob/91d5bbc3091fa568e6856c7c41f9d7492d5957df/math/v_cos.c#L56):
```c
cmp = v_cond_u64 (v_as_u64_f64 (r) >= v_as_u64_f64 (RangeVal));
```
They ended up the wrong way around, this corrects it.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Generator.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
In C, when the integer part of a double exceeds the maximum int64, casting
the double to int64_t is undefined behavior. On some platforms, the result
is 2**64-1 and on others it is -2**64. That results in rng.geometric()
returning -2**64 when p was sufficiently small on some platforms.
The fix is to never invoke undefined behavior by ensuring we don't attempt
to cast very large double values to int64_t.
|
| | | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Swaps the order to the correct thing and thus
closes gh-23651
|
| | |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | | |
BUG: Infer return types for Fortran functions in `f2py`
|
| | | |\ \ \ \ \ \ \ \ \
| | | |/ / / / / / / / |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | | |
|
| | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
This PR adds additional tests for quantiles:
1. Identification equation $E[V(q, Y)] = 0$
2. Adding a constant $c > 0$: $q(c + Y) = c + q(Y)$
3. Multiplying by a constant $c > 0$: $q(c \cdot Y) = c \cdot q(y)$
4. Multiplying by $-1$: $q_{\alpha}(-Y) = -q_{1-\alpha}(Y)$
(Note by seberg as reviewer: These tests are fairly complex, but may be useful for future development. But if they seem too complicated, they are probably not really vital and could be shortened or removed.)
|
| | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | | |
ENH: Allow, and default to, downstream building with old API
|
| | | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Co-authored-by: Matti Picus <matti.picus@gmail.com>
|
| | | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
We have three choices:
1. Be compatible with limited API (oldest supported Python version)
2. Be compatible with everything on the same Python version (this)
3. Be strict and default to NEP 29
This just rephrases things to be 2. Because our API version was not
bumped over the relevant time frame, it is actually also compatible
with the first.
|
| | | | | | | | | | | | | |
|
| | | | | | | | | | | | | |
|
| | | | | | | | | | | | | |
|