diff options
author | Bas van Beek <b.f.van.beek@vu.nl> | 2022-02-10 10:03:39 +0100 |
---|---|---|
committer | Bas van Beek <43369155+BvB93@users.noreply.github.com> | 2022-02-14 19:05:51 +0100 |
commit | 678da144191164d1dbc22d69958f6022a91d742f (patch) | |
tree | 9aa86acb5a497281f86b376cafd5afbe1be944cb /numpy/typing | |
parent | 91d49731cb5611135dc8810a2990e0acca34fdaa (diff) | |
download | numpy-678da144191164d1dbc22d69958f6022a91d742f.tar.gz |
TYP: Add dtype-typing support to `fromnumeric` part 3
Diffstat (limited to 'numpy/typing')
-rw-r--r-- | numpy/typing/tests/data/fail/fromnumeric.pyi | 54 | ||||
-rw-r--r-- | numpy/typing/tests/data/reveal/fromnumeric.pyi | 108 |
2 files changed, 90 insertions, 72 deletions
diff --git a/numpy/typing/tests/data/fail/fromnumeric.pyi b/numpy/typing/tests/data/fail/fromnumeric.pyi index 5f292999a..b679703c7 100644 --- a/numpy/typing/tests/data/fail/fromnumeric.pyi +++ b/numpy/typing/tests/data/fail/fromnumeric.pyi @@ -1,9 +1,11 @@ """Tests for :mod:`numpy.core.fromnumeric`.""" import numpy as np +import numpy.typing as npt A = np.array(True, ndmin=2, dtype=bool) A.setflags(write=False) +AR_U: npt.NDArray[np.str_] a = np.bool_(True) @@ -124,30 +126,36 @@ np.amin(a, out=1.0) # E: No overload variant np.amin(a, initial=[1.0]) # E: No overload variant np.amin(a, where=[1.0]) # E: incompatible type -np.prod(a, axis=1.0) # E: incompatible type -np.prod(a, out=False) # E: incompatible type -np.prod(a, keepdims=1.0) # E: incompatible type -np.prod(a, initial=int) # E: incompatible type -np.prod(a, where=1.0) # E: incompatible type +np.prod(a, axis=1.0) # E: No overload variant +np.prod(a, out=False) # E: No overload variant +np.prod(a, keepdims=1.0) # E: No overload variant +np.prod(a, initial=int) # E: No overload variant +np.prod(a, where=1.0) # E: No overload variant +np.prod(AR_U) # E: incompatible type -np.cumprod(a, axis=1.0) # E: Argument "axis" to "cumprod" has incompatible type -np.cumprod(a, out=False) # E: Argument "out" to "cumprod" has incompatible type +np.cumprod(a, axis=1.0) # E: No overload variant +np.cumprod(a, out=False) # E: No overload variant +np.cumprod(AR_U) # E: incompatible type np.size(a, axis=1.0) # E: Argument "axis" to "size" has incompatible type -np.around(a, decimals=1.0) # E: incompatible type -np.around(a, out=type) # E: incompatible type - -np.mean(a, axis=1.0) # E: incompatible type -np.mean(a, out=False) # E: incompatible type -np.mean(a, keepdims=1.0) # E: incompatible type - -np.std(a, axis=1.0) # E: incompatible type -np.std(a, out=False) # E: incompatible type -np.std(a, ddof='test') # E: incompatible type -np.std(a, keepdims=1.0) # E: incompatible type - -np.var(a, axis=1.0) # E: incompatible type -np.var(a, out=False) # E: incompatible type -np.var(a, ddof='test') # E: incompatible type -np.var(a, keepdims=1.0) # E: incompatible type +np.around(a, decimals=1.0) # E: No overload variant +np.around(a, out=type) # E: No overload variant +np.around(AR_U) # E: incompatible type + +np.mean(a, axis=1.0) # E: No overload variant +np.mean(a, out=False) # E: No overload variant +np.mean(a, keepdims=1.0) # E: No overload variant +np.mean(AR_U) # E: incompatible type + +np.std(a, axis=1.0) # E: No overload variant +np.std(a, out=False) # E: No overload variant +np.std(a, ddof='test') # E: No overload variant +np.std(a, keepdims=1.0) # E: No overload variant +np.std(AR_U) # E: incompatible type + +np.var(a, axis=1.0) # E: No overload variant +np.var(a, out=False) # E: No overload variant +np.var(a, ddof='test') # E: No overload variant +np.var(a, keepdims=1.0) # E: No overload variant +np.var(AR_U) # E: incompatible type diff --git a/numpy/typing/tests/data/reveal/fromnumeric.pyi b/numpy/typing/tests/data/reveal/fromnumeric.pyi index f9f0ff625..6adbc35bf 100644 --- a/numpy/typing/tests/data/reveal/fromnumeric.pyi +++ b/numpy/typing/tests/data/reveal/fromnumeric.pyi @@ -8,11 +8,15 @@ class NDArraySubclass(npt.NDArray[np.complex128]): AR_b: npt.NDArray[np.bool_] AR_f4: npt.NDArray[np.float32] +AR_c16: npt.NDArray[np.complex128] +AR_u8: npt.NDArray[np.uint64] AR_i8: npt.NDArray[np.int64] +AR_O: npt.NDArray[np.object_] AR_subclass: NDArraySubclass b: np.bool_ f4: np.float32 +i8: np.int64 f: float reveal_type(np.take(b, 0)) # E: bool_ @@ -214,23 +218,28 @@ reveal_type(np.amin(AR_b, keepdims=True)) # E: Any reveal_type(np.amin(AR_f4, keepdims=True)) # E: Any reveal_type(np.amin(AR_f4, out=AR_subclass)) # E: NDArraySubclass -reveal_type(np.prod(b)) # E: Any -reveal_type(np.prod(f4)) # E: Any -reveal_type(np.prod(f)) # E: Any -reveal_type(np.prod(AR_b)) # E: Any -reveal_type(np.prod(AR_f4)) # E: Any -reveal_type(np.prod(AR_b, axis=0)) # E: Any +reveal_type(np.prod(AR_b)) # E: {int_} +reveal_type(np.prod(AR_u8)) # E: {uint64} +reveal_type(np.prod(AR_i8)) # E: {int64} +reveal_type(np.prod(AR_f4)) # E: floating[Any] +reveal_type(np.prod(AR_c16)) # E: complexfloating[Any, Any] +reveal_type(np.prod(AR_O)) # E: Any reveal_type(np.prod(AR_f4, axis=0)) # E: Any -reveal_type(np.prod(AR_b, keepdims=True)) # E: Any reveal_type(np.prod(AR_f4, keepdims=True)) # E: Any -reveal_type(np.prod(f4, out=AR_i8)) # E: Any -reveal_type(np.prod(AR_f4, out=AR_i8)) # E: Any - -reveal_type(np.cumprod(b)) # E: ndarray[Any, Any] -reveal_type(np.cumprod(f4)) # E: ndarray[Any, Any] -reveal_type(np.cumprod(f)) # E: ndarray[Any, Any] -reveal_type(np.cumprod(AR_b)) # E: ndarray[Any, Any] -reveal_type(np.cumprod(AR_f4)) # E: ndarray[Any, Any] +reveal_type(np.prod(AR_f4, dtype=np.float64)) # E: {float64} +reveal_type(np.prod(AR_f4, dtype=float)) # E: Any +reveal_type(np.prod(AR_f4, out=AR_subclass)) # E: NDArraySubclass + +reveal_type(np.cumprod(AR_b)) # E: ndarray[Any, dtype[{int_}]] +reveal_type(np.cumprod(AR_u8)) # E: ndarray[Any, dtype[{uint64}]] +reveal_type(np.cumprod(AR_i8)) # E: ndarray[Any, dtype[{int64}]] +reveal_type(np.cumprod(AR_f4)) # E: ndarray[Any, dtype[floating[Any]]] +reveal_type(np.cumprod(AR_c16)) # E: ndarray[Any, dtype[complexfloating[Any, Any]]] +reveal_type(np.cumprod(AR_O)) # E: ndarray[Any, dtype[object_]] +reveal_type(np.cumprod(AR_f4, axis=0)) # E: ndarray[Any, dtype[floating[Any]]] +reveal_type(np.cumprod(AR_f4, dtype=np.float64)) # E: ndarray[Any, dtype[{float64}]] +reveal_type(np.cumprod(AR_f4, dtype=float)) # E: ndarray[Any, dtype[Any]] +reveal_type(np.cumprod(AR_f4, out=AR_subclass)) # E: NDArraySubclass reveal_type(np.ndim(b)) # E: int reveal_type(np.ndim(f4)) # E: int @@ -244,44 +253,45 @@ reveal_type(np.size(f)) # E: int reveal_type(np.size(AR_b)) # E: int reveal_type(np.size(AR_f4)) # E: int -reveal_type(np.around(b)) # E: Any -reveal_type(np.around(f4)) # E: Any +reveal_type(np.around(b)) # E: {float16} reveal_type(np.around(f)) # E: Any -reveal_type(np.around(AR_b)) # E: Any -reveal_type(np.around(AR_f4)) # E: Any - -reveal_type(np.mean(b)) # E: Any -reveal_type(np.mean(f4)) # E: Any -reveal_type(np.mean(f)) # E: Any -reveal_type(np.mean(AR_b)) # E: Any -reveal_type(np.mean(AR_f4)) # E: Any -reveal_type(np.mean(AR_b, axis=0)) # E: Any +reveal_type(np.around(i8)) # E: {int64} +reveal_type(np.around(f4)) # E: {float32} +reveal_type(np.around(AR_b)) # E: ndarray[Any, dtype[{float16}]] +reveal_type(np.around(AR_i8)) # E: ndarray[Any, dtype[{int64}]] +reveal_type(np.around(AR_f4)) # E: ndarray[Any, dtype[{float32}]] +reveal_type(np.around([1.5])) # E: ndarray[Any, dtype[Any]] +reveal_type(np.around(AR_f4, out=AR_subclass)) # E: NDArraySubclass + +reveal_type(np.mean(AR_b)) # E: floating[Any] +reveal_type(np.mean(AR_i8)) # E: floating[Any] +reveal_type(np.mean(AR_f4)) # E: floating[Any] +reveal_type(np.mean(AR_c16)) # E: complexfloating[Any, Any] +reveal_type(np.mean(AR_O)) # E: Any reveal_type(np.mean(AR_f4, axis=0)) # E: Any -reveal_type(np.mean(AR_b, keepdims=True)) # E: Any reveal_type(np.mean(AR_f4, keepdims=True)) # E: Any -reveal_type(np.mean(f4, out=AR_i8)) # E: Any -reveal_type(np.mean(AR_f4, out=AR_i8)) # E: Any - -reveal_type(np.std(b)) # E: Any -reveal_type(np.std(f4)) # E: Any -reveal_type(np.std(f)) # E: Any -reveal_type(np.std(AR_b)) # E: Any -reveal_type(np.std(AR_f4)) # E: Any -reveal_type(np.std(AR_b, axis=0)) # E: Any +reveal_type(np.mean(AR_f4, dtype=float)) # E: Any +reveal_type(np.mean(AR_f4, dtype=np.float64)) # E: {float64} +reveal_type(np.mean(AR_f4, out=AR_subclass)) # E: NDArraySubclass + +reveal_type(np.std(AR_b)) # E: floating[Any] +reveal_type(np.std(AR_i8)) # E: floating[Any] +reveal_type(np.std(AR_f4)) # E: floating[Any] +reveal_type(np.std(AR_c16)) # E: floating[Any] +reveal_type(np.std(AR_O)) # E: Any reveal_type(np.std(AR_f4, axis=0)) # E: Any -reveal_type(np.std(AR_b, keepdims=True)) # E: Any reveal_type(np.std(AR_f4, keepdims=True)) # E: Any -reveal_type(np.std(f4, out=AR_i8)) # E: Any -reveal_type(np.std(AR_f4, out=AR_i8)) # E: Any - -reveal_type(np.var(b)) # E: Any -reveal_type(np.var(f4)) # E: Any -reveal_type(np.var(f)) # E: Any -reveal_type(np.var(AR_b)) # E: Any -reveal_type(np.var(AR_f4)) # E: Any -reveal_type(np.var(AR_b, axis=0)) # E: Any +reveal_type(np.std(AR_f4, dtype=float)) # E: Any +reveal_type(np.std(AR_f4, dtype=np.float64)) # E: {float64} +reveal_type(np.std(AR_f4, out=AR_subclass)) # E: NDArraySubclass + +reveal_type(np.var(AR_b)) # E: floating[Any] +reveal_type(np.var(AR_i8)) # E: floating[Any] +reveal_type(np.var(AR_f4)) # E: floating[Any] +reveal_type(np.var(AR_c16)) # E: floating[Any] +reveal_type(np.var(AR_O)) # E: Any reveal_type(np.var(AR_f4, axis=0)) # E: Any -reveal_type(np.var(AR_b, keepdims=True)) # E: Any reveal_type(np.var(AR_f4, keepdims=True)) # E: Any -reveal_type(np.var(f4, out=AR_i8)) # E: Any -reveal_type(np.var(AR_f4, out=AR_i8)) # E: Any +reveal_type(np.var(AR_f4, dtype=float)) # E: Any +reveal_type(np.var(AR_f4, dtype=np.float64)) # E: {float64} +reveal_type(np.var(AR_f4, out=AR_subclass)) # E: NDArraySubclass |