summaryrefslogtreecommitdiff
path: root/numpy/core/numeric.pyi
diff options
context:
space:
mode:
authoriantra <iantrasolari@gmail.com>2022-09-05 14:32:34 +0200
committeriantra <iantrasolari@gmail.com>2022-09-05 17:22:03 +0200
commitd35f772dbfa598868bb0a1155ee7bf8ca9183b59 (patch)
treec485cdf39d3f87013821aa1f38320b38d41d3088 /numpy/core/numeric.pyi
parenta670bea06280a50458a08e2dd9f1512150e02526 (diff)
downloadnumpy-d35f772dbfa598868bb0a1155ee7bf8ca9183b59.tar.gz
BUG: Introduce Unknown array type to deal with NDArray[Any] more gracefully.
Diffstat (limited to 'numpy/core/numeric.pyi')
-rw-r--r--numpy/core/numeric.pyi62
1 files changed, 48 insertions, 14 deletions
diff --git a/numpy/core/numeric.pyi b/numpy/core/numeric.pyi
index ed2b03ab4..98d3789a5 100644
--- a/numpy/core/numeric.pyi
+++ b/numpy/core/numeric.pyi
@@ -43,6 +43,7 @@ from numpy._typing import (
_ArrayLikeComplex_co,
_ArrayLikeTD64_co,
_ArrayLikeObject_co,
+ _ArrayLikeUnknown,
)
_T = TypeVar("_T")
@@ -257,10 +258,10 @@ def flatnonzero(a: ArrayLike) -> NDArray[intp]: ...
@overload
def correlate(
- a: _ArrayLikeObject_co,
- v: _ArrayLikeObject_co,
+ a: _ArrayLikeUnknown,
+ v: _ArrayLikeUnknown,
mode: _CorrelateMode = ...,
-) -> NDArray[object_]: ...
+) -> NDArray[Any]: ...
@overload
def correlate(
a: _ArrayLikeBool_co,
@@ -297,13 +298,19 @@ def correlate(
v: _ArrayLikeTD64_co,
mode: _CorrelateMode = ...,
) -> NDArray[timedelta64]: ...
-
@overload
-def convolve(
+def correlate(
a: _ArrayLikeObject_co,
v: _ArrayLikeObject_co,
mode: _CorrelateMode = ...,
) -> NDArray[object_]: ...
+
+@overload
+def convolve(
+ a: _ArrayLikeUnknown,
+ v: _ArrayLikeUnknown,
+ mode: _CorrelateMode = ...,
+) -> NDArray[Any]: ...
@overload
def convolve(
a: _ArrayLikeBool_co,
@@ -340,13 +347,19 @@ def convolve(
v: _ArrayLikeTD64_co,
mode: _CorrelateMode = ...,
) -> NDArray[timedelta64]: ...
+@overload
+def convolve(
+ a: _ArrayLikeObject_co,
+ v: _ArrayLikeObject_co,
+ mode: _CorrelateMode = ...,
+) -> NDArray[object_]: ...
@overload
def outer(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
+ a: _ArrayLikeUnknown,
+ b: _ArrayLikeUnknown,
out: None = ...,
-) -> NDArray[object_]: ...
+) -> NDArray[Any]: ...
@overload
def outer(
a: _ArrayLikeBool_co,
@@ -385,6 +398,12 @@ def outer(
) -> NDArray[timedelta64]: ...
@overload
def outer(
+ a: _ArrayLikeObject_co,
+ b: _ArrayLikeObject_co,
+ out: None = ...,
+) -> NDArray[object_]: ...
+@overload
+def outer(
a: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
b: _ArrayLikeComplex_co | _ArrayLikeTD64_co | _ArrayLikeObject_co,
out: _ArrayType,
@@ -392,10 +411,10 @@ def outer(
@overload
def tensordot(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
+ a: _ArrayLikeUnknown,
+ b: _ArrayLikeUnknown,
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
-) -> NDArray[object_]: ...
+) -> NDArray[Any]: ...
@overload
def tensordot(
a: _ArrayLikeBool_co,
@@ -432,6 +451,12 @@ def tensordot(
b: _ArrayLikeTD64_co,
axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
) -> NDArray[timedelta64]: ...
+@overload
+def tensordot(
+ a: _ArrayLikeObject_co,
+ b: _ArrayLikeObject_co,
+ axes: int | tuple[_ShapeLike, _ShapeLike] = ...,
+) -> NDArray[object_]: ...
@overload
def roll(
@@ -460,13 +485,13 @@ def moveaxis(
@overload
def cross(
- a: _ArrayLikeObject_co,
- b: _ArrayLikeObject_co,
+ a: _ArrayLikeUnknown,
+ b: _ArrayLikeUnknown,
axisa: int = ...,
axisb: int = ...,
axisc: int = ...,
axis: None | int = ...,
-) -> NDArray[object_]: ...
+) -> NDArray[Any]: ...
@overload
def cross(
a: _ArrayLikeBool_co,
@@ -512,6 +537,15 @@ def cross(
axisc: int = ...,
axis: None | int = ...,
) -> NDArray[complexfloating[Any, Any]]: ...
+@overload
+def cross(
+ a: _ArrayLikeObject_co,
+ b: _ArrayLikeObject_co,
+ axisa: int = ...,
+ axisb: int = ...,
+ axisc: int = ...,
+ axis: None | int = ...,
+) -> NDArray[object_]: ...
@overload
def indices(