ENH: Add __array_ufunc__
typing support to the nin=1
ufuncs
#22030
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #21968.
Xref #21737
Allow all
nin=1
ufuncs to accept objects implementing the__array_ufunc__
protocol.The changes introduced herein should be extended to the
nin=2
ufuncs as well, but this is substantially more difficult without regressing allnp.ndarray
output types toAny
. Namely, we want to new overload to apply to all__array_ufunc__
implementations exceptnp.ndarray
, which is a bit of mess to do with the lack of some type ofnot
-operator and thenin=2
input combinatorics.