From d00997297f87440a9a8e2b8bb9cc272fb7d29c1d Mon Sep 17 00:00:00 2001 From: jorenham Date: Sat, 12 Jul 2025 21:58:52 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20fix=20`count=5Fnonzero`=20re?= =?UTF-8?q?turn=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/numpy-stubs/_core/_multiarray_umath.pyi | 4 +++- src/numpy-stubs/_core/numeric.pyi | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/numpy-stubs/_core/_multiarray_umath.pyi b/src/numpy-stubs/_core/_multiarray_umath.pyi index 9844728f..539049fd 100644 --- a/src/numpy-stubs/_core/_multiarray_umath.pyi +++ b/src/numpy-stubs/_core/_multiarray_umath.pyi @@ -1505,7 +1505,9 @@ def interp_complex( ) -> np.complex128 | _nt.Array[np.complex128]: ... # -def count_nonzero(a: object, /) -> int: ... +def count_nonzero(a: npt.ArrayLike, /) -> np.intp: ... + +# def bincount( x: _nt.CoInteger_nd, /, weights: _nt.CoFloating_nd | None = None, minlength: CanIndex = 0 ) -> _nt.Array[np.intp]: ... diff --git a/src/numpy-stubs/_core/numeric.pyi b/src/numpy-stubs/_core/numeric.pyi index aa3774b4..b6f24179 100644 --- a/src/numpy-stubs/_core/numeric.pyi +++ b/src/numpy-stubs/_core/numeric.pyi @@ -1,3 +1,4 @@ +from _typeshed import Incomplete from builtins import bool as py_bool from collections.abc import Callable, Sequence from typing import ( @@ -2027,9 +2028,9 @@ def full_like( # @overload -def count_nonzero(a: ArrayLike, axis: None = None, *, keepdims: L[False] = False) -> int: ... +def count_nonzero(a: ArrayLike, axis: None = None, *, keepdims: L[False] = False) -> np.intp: ... @overload -def count_nonzero(a: ArrayLike, axis: _ShapeLike | None = None, *, keepdims: py_bool = False) -> Any: ... +def count_nonzero(a: ArrayLike, axis: _ShapeLike | None = None, *, keepdims: py_bool = False) -> Incomplete: ... # def flatnonzero(a: ArrayLike) -> _nt.Array1D[np.intp]: ... From f49a9a111fb10a9614079eb95fabfffad36b25af Mon Sep 17 00:00:00 2001 From: jorenham Date: Sat, 12 Jul 2025 22:03:10 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=85=20update=20type-tests=20for=20`co?= =?UTF-8?q?unt=5Fnonzero`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/numpy-stubs/@test/static/accept/numeric.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/numpy-stubs/@test/static/accept/numeric.pyi b/src/numpy-stubs/@test/static/accept/numeric.pyi index 8852235b..bfff3261 100644 --- a/src/numpy-stubs/@test/static/accept/numeric.pyi +++ b/src/numpy-stubs/@test/static/accept/numeric.pyi @@ -22,9 +22,9 @@ AR_O: _nt.Array[np.object_] ### -assert_type(np.count_nonzero(i8), int) -assert_type(np.count_nonzero(AR_i8), int) -assert_type(np.count_nonzero(ints), int) +assert_type(np.count_nonzero(i8), np.intp) +assert_type(np.count_nonzero(AR_i8), np.intp) +assert_type(np.count_nonzero(ints), np.intp) assert_type(np.count_nonzero(AR_i8, keepdims=True), Any) assert_type(np.count_nonzero(AR_i8, axis=0), Any)