Skip to content

Commit a157810

Browse files
guan404mingjorenham
andcommitted
♻️ refactor annotation for logical related class
Co-Authored-By: Joren Hammudoglu <[email protected]>
1 parent e034026 commit a157810

File tree

2 files changed

+37
-37
lines changed

2 files changed

+37
-37
lines changed

src/numpy-stubs/__init__.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ from ._typing._char_codes import (
309309
)
310310
from ._typing._ufunc import (
311311
_Call11Bool,
312-
_Call11Isnat
313-
_Call11LogicalNot,
312+
_Call11Isnat,
313+
_Call11Logical,
314314
_Call21Bool,
315315
_Call21Logical,
316316
_gufunc_2_1,
@@ -7113,7 +7113,7 @@ log: Final[_ufunc_1_1] = ...
71137113
log2: Final[_ufunc_1_1] = ...
71147114
log10: Final[_ufunc_1_1] = ...
71157115
log1p: Final[_ufunc_1_1] = ...
7116-
logical_not: Final[_ufunc_1_1[_Call11LogicalNot]] = ...
7116+
logical_not: Final[_ufunc_1_1[_Call11Logical]] = ...
71177117
negative: Final[_ufunc_1_1] = ...
71187118
positive: Final[_ufunc_1_1] = ...
71197119
rad2deg: Final[_ufunc_1_1] = ...

src/numpy-stubs/_typing/_ufunc.pyi

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import numpy as np
1616
from numpy import _CastingKind, _OrderKACF # noqa: ICN003
1717
from numpy._typing import _DTypeLikeBool, _NestedSequence
1818

19-
from ._array_like import ArrayLike, NDArray, _ArrayLike, _ArrayLikeBool_co, _ArrayLikeInt_co, _ArrayLikeNumber_co
19+
from ._array_like import ArrayLike, NDArray, _ArrayLike, _ArrayLikeBool_co, _ArrayLikeInt_co, _ArrayLikeNumber_co, _ArrayLikeObject_co
2020
from ._dtype_like import DTypeLike, _DTypeLike, _DTypeLikeObject
2121
from ._scalars import _NumberLike_co, _ScalarLike_co
2222
from ._shape import _ShapeLike
@@ -223,16 +223,16 @@ class _Call11Bool(Protocol):
223223
) -> NDArray[np.bool] | np.bool: ...
224224

225225
@type_check_only
226-
class _Call11LogicalNot(Protocol):
226+
class _Call11Logical(Protocol):
227227
@overload
228-
def __call__( # (scalar, dtype: np.object_) -> np.object_
228+
def __call__( # (scalar, dtype: np.object_) -> np.bool
229229
self,
230230
x: _NumberLike_co,
231231
/,
232-
dtype: _DTypeLikeObject,
232+
dtype: _DTypeLike[np.object_],
233233
out: None = None,
234234
**kwargs: Unpack[_Kwargs2],
235-
) -> np.object_: ...
235+
) -> np.bool: ...
236236
@overload
237237
def __call__( # (scalar) -> bool
238238
self,
@@ -247,10 +247,10 @@ class _Call11LogicalNot(Protocol):
247247
self,
248248
x: _ArrayLikeNumber_co,
249249
/,
250-
dtype: _DTypeLikeObject,
250+
dtype: _DTypeLike[np.object_],
251251
out: None = None,
252252
**kwargs: Unpack[_Kwargs2],
253-
) -> np.object_: ...
253+
) -> NDArray[np.object_] | np.bool: ...
254254
@overload
255255
def __call__( # (array-like, out: T) -> T
256256
self,
@@ -287,7 +287,7 @@ class _Call11LogicalNot(Protocol):
287287
out: _Out1[_AnyArray] | None = None,
288288
dtype: DTypeLike | None = None,
289289
**kwargs: Unpack[_Kwargs2],
290-
) -> NDArray[np.bool] | np.bool: ...
290+
) -> Any: ...
291291

292292
class _Call12(Protocol):
293293
@overload
@@ -459,10 +459,10 @@ class _Call21Logical(Protocol):
459459
x1: _NumberLike_co,
460460
x2: _NumberLike_co,
461461
/,
462-
dtype: _DTypeLikeObject,
462+
dtype: _DTypeLike[np.object_],
463463
out: None = None,
464464
**kwds: Unpack[_Kwargs3],
465-
) -> np.object_: ...
465+
) -> np.bool: ...
466466
@overload # (scalar, scalar) -> bool
467467
def __call__(
468468
self,
@@ -473,46 +473,57 @@ class _Call21Logical(Protocol):
473473
dtype: DTypeLike | None = None,
474474
**kwds: Unpack[_Kwargs3],
475475
) -> np.bool: ...
476-
@overload # (array-like, array, dtype: np.object_) -> np.object_
476+
@overload # (array-like, array, dtype: object_) -> Array[object_]
477477
def __call__(
478478
self,
479-
x1: _ArrayLikeNumber_co,
479+
x1: _ArrayLikeNumber_co | _ArrayLikeObject_co,
480480
x2: _AnyArray,
481481
/,
482-
dtype: _DTypeLikeObject,
482+
dtype: _DTypeLike[np.object_],
483483
out: None = None,
484484
**kwds: Unpack[_Kwargs3],
485-
) -> np.object_: ...
485+
) -> NDArray[np.object_]: ...
486486
@overload # (array-like, array, dtype: dtype[T]) -> Array[T]
487487
def __call__(
488488
self,
489489
x1: _ArrayLikeNumber_co,
490-
x2: _AnyArray,
490+
x2: NDArray[np.bool | np.number],
491491
/,
492492
out: None = None,
493493
dtype: DTypeLike | None = None,
494494
**kwds: Unpack[_Kwargs3],
495-
) -> NDArray[np.bool]: ...
496-
@overload # (array, array-like, dtype: np.object_) -> np.object_
495+
) -> NDArray[np.bool | np.object_]: ...
496+
@overload # (array, array-like, dtype: object_) -> Array[object_]
497497
def __call__(
498498
self,
499499
x1: _AnyArray,
500-
x2: _ArrayLikeNumber_co,
500+
x2: _ArrayLikeNumber_co | _ArrayLikeObject_co,
501501
/,
502-
dtype: _DTypeLikeObject,
502+
dtype: _DTypeLike[np.object_],
503503
out: None = None,
504504
**kwds: Unpack[_Kwargs3],
505-
) -> np.object_: ...
505+
) -> NDArray[np.object_]: ...
506506
@overload # (array, array-like, dtype: dtype[T]) -> Array[T]
507507
def __call__(
508508
self,
509-
x1: _AnyArray,
509+
x1: NDArray[np.bool | np.number],
510510
x2: _ArrayLikeNumber_co,
511511
/,
512512
out: None = None,
513513
dtype: DTypeLike | None = None,
514514
**kwds: Unpack[_Kwargs3],
515515
) -> NDArray[np.bool]: ...
516+
@overload # (array-like, array-like, out: T) -> T
517+
def __call__(
518+
self,
519+
x1: _ArrayLikeNumber_co,
520+
x2: _ArrayLikeNumber_co,
521+
/,
522+
out: _Out1[_ArrayT],
523+
*,
524+
dtype: None = None,
525+
**kwds: Unpack[_Kwargs3],
526+
) -> _ArrayT: ...
516527
@overload # (array-like, array) -> Array[?]
517528
def __call__(
518529
self,
@@ -523,7 +534,7 @@ class _Call21Logical(Protocol):
523534
*,
524535
dtype: DTypeLike | None = None,
525536
**kwds: Unpack[_Kwargs3],
526-
) -> NDArray[np.bool]: ...
537+
) -> NDArray[np.bool | np.object_]: ...
527538
@overload # (array, array-like) -> Array[?]
528539
def __call__(
529540
self,
@@ -535,17 +546,6 @@ class _Call21Logical(Protocol):
535546
dtype: DTypeLike | None = None,
536547
**kwds: Unpack[_Kwargs3],
537548
) -> NDArray[np.bool]: ...
538-
@overload # (array-like, array-like, out: T) -> T
539-
def __call__(
540-
self,
541-
x1: _ArrayLikeNumber_co,
542-
x2: ArrayLike,
543-
/,
544-
out: _ArrayT | tuple[_ArrayT],
545-
*,
546-
dtype: None = None,
547-
**kwds: Unpack[_Kwargs3],
548-
) -> _ArrayT: ...
549549
@overload # (array-like, array-like) -> Array[?] | ?
550550
def __call__(
551551
self,
@@ -556,7 +556,7 @@ class _Call21Logical(Protocol):
556556
*,
557557
dtype: DTypeLike | None = None,
558558
**kwds: Unpack[_Kwargs3],
559-
) -> NDArray[np.bool] | np.bool: ...
559+
) -> Any: ...
560560

561561
@type_check_only
562562
class _Call21(Protocol):

0 commit comments

Comments
 (0)