@@ -16,7 +16,7 @@ import numpy as np
16
16
from numpy import _CastingKind , _OrderKACF # noqa: ICN003
17
17
from numpy ._typing import _DTypeLikeBool , _NestedSequence
18
18
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
20
20
from ._dtype_like import DTypeLike , _DTypeLike , _DTypeLikeObject
21
21
from ._scalars import _NumberLike_co , _ScalarLike_co
22
22
from ._shape import _ShapeLike
@@ -223,16 +223,16 @@ class _Call11Bool(Protocol):
223
223
) -> NDArray [np .bool ] | np .bool : ...
224
224
225
225
@type_check_only
226
- class _Call11LogicalNot (Protocol ):
226
+ class _Call11Logical (Protocol ):
227
227
@overload
228
- def __call__ ( # (scalar, dtype: np.object_) -> np.object_
228
+ def __call__ ( # (scalar, dtype: np.object_) -> np.bool
229
229
self ,
230
230
x : _NumberLike_co ,
231
231
/ ,
232
- dtype : _DTypeLikeObject ,
232
+ dtype : _DTypeLike [ np . object_ ] ,
233
233
out : None = None ,
234
234
** kwargs : Unpack [_Kwargs2 ],
235
- ) -> np .object_ : ...
235
+ ) -> np .bool : ...
236
236
@overload
237
237
def __call__ ( # (scalar) -> bool
238
238
self ,
@@ -247,10 +247,10 @@ class _Call11LogicalNot(Protocol):
247
247
self ,
248
248
x : _ArrayLikeNumber_co ,
249
249
/ ,
250
- dtype : _DTypeLikeObject ,
250
+ dtype : _DTypeLike [ np . object_ ] ,
251
251
out : None = None ,
252
252
** kwargs : Unpack [_Kwargs2 ],
253
- ) -> np .object_ : ...
253
+ ) -> NDArray [ np .object_ ] | np . bool : ...
254
254
@overload
255
255
def __call__ ( # (array-like, out: T) -> T
256
256
self ,
@@ -287,7 +287,7 @@ class _Call11LogicalNot(Protocol):
287
287
out : _Out1 [_AnyArray ] | None = None ,
288
288
dtype : DTypeLike | None = None ,
289
289
** kwargs : Unpack [_Kwargs2 ],
290
- ) -> NDArray [ np . bool ] | np . bool : ...
290
+ ) -> Any : ...
291
291
292
292
class _Call12 (Protocol ):
293
293
@overload
@@ -459,10 +459,10 @@ class _Call21Logical(Protocol):
459
459
x1 : _NumberLike_co ,
460
460
x2 : _NumberLike_co ,
461
461
/ ,
462
- dtype : _DTypeLikeObject ,
462
+ dtype : _DTypeLike [ np . object_ ] ,
463
463
out : None = None ,
464
464
** kwds : Unpack [_Kwargs3 ],
465
- ) -> np .object_ : ...
465
+ ) -> np .bool : ...
466
466
@overload # (scalar, scalar) -> bool
467
467
def __call__ (
468
468
self ,
@@ -473,46 +473,57 @@ class _Call21Logical(Protocol):
473
473
dtype : DTypeLike | None = None ,
474
474
** kwds : Unpack [_Kwargs3 ],
475
475
) -> np .bool : ...
476
- @overload # (array-like, array, dtype: np. object_) -> np. object_
476
+ @overload # (array-like, array, dtype: object_) -> Array[ object_]
477
477
def __call__ (
478
478
self ,
479
- x1 : _ArrayLikeNumber_co ,
479
+ x1 : _ArrayLikeNumber_co | _ArrayLikeObject_co ,
480
480
x2 : _AnyArray ,
481
481
/ ,
482
- dtype : _DTypeLikeObject ,
482
+ dtype : _DTypeLike [ np . object_ ] ,
483
483
out : None = None ,
484
484
** kwds : Unpack [_Kwargs3 ],
485
- ) -> np .object_ : ...
485
+ ) -> NDArray [ np .object_ ] : ...
486
486
@overload # (array-like, array, dtype: dtype[T]) -> Array[T]
487
487
def __call__ (
488
488
self ,
489
489
x1 : _ArrayLikeNumber_co ,
490
- x2 : _AnyArray ,
490
+ x2 : NDArray [ np . bool | np . number ] ,
491
491
/ ,
492
492
out : None = None ,
493
493
dtype : DTypeLike | None = None ,
494
494
** 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_]
497
497
def __call__ (
498
498
self ,
499
499
x1 : _AnyArray ,
500
- x2 : _ArrayLikeNumber_co ,
500
+ x2 : _ArrayLikeNumber_co | _ArrayLikeObject_co ,
501
501
/ ,
502
- dtype : _DTypeLikeObject ,
502
+ dtype : _DTypeLike [ np . object_ ] ,
503
503
out : None = None ,
504
504
** kwds : Unpack [_Kwargs3 ],
505
- ) -> np .object_ : ...
505
+ ) -> NDArray [ np .object_ ] : ...
506
506
@overload # (array, array-like, dtype: dtype[T]) -> Array[T]
507
507
def __call__ (
508
508
self ,
509
- x1 : _AnyArray ,
509
+ x1 : NDArray [ np . bool | np . number ] ,
510
510
x2 : _ArrayLikeNumber_co ,
511
511
/ ,
512
512
out : None = None ,
513
513
dtype : DTypeLike | None = None ,
514
514
** kwds : Unpack [_Kwargs3 ],
515
515
) -> 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 : ...
516
527
@overload # (array-like, array) -> Array[?]
517
528
def __call__ (
518
529
self ,
@@ -523,7 +534,7 @@ class _Call21Logical(Protocol):
523
534
* ,
524
535
dtype : DTypeLike | None = None ,
525
536
** kwds : Unpack [_Kwargs3 ],
526
- ) -> NDArray [np .bool ]: ...
537
+ ) -> NDArray [np .bool | np . object_ ]: ...
527
538
@overload # (array, array-like) -> Array[?]
528
539
def __call__ (
529
540
self ,
@@ -535,17 +546,6 @@ class _Call21Logical(Protocol):
535
546
dtype : DTypeLike | None = None ,
536
547
** kwds : Unpack [_Kwargs3 ],
537
548
) -> 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 : ...
549
549
@overload # (array-like, array-like) -> Array[?] | ?
550
550
def __call__ (
551
551
self ,
@@ -556,7 +556,7 @@ class _Call21Logical(Protocol):
556
556
* ,
557
557
dtype : DTypeLike | None = None ,
558
558
** kwds : Unpack [_Kwargs3 ],
559
- ) -> NDArray [ np . bool ] | np . bool : ...
559
+ ) -> Any : ...
560
560
561
561
@type_check_only
562
562
class _Call21 (Protocol ):
0 commit comments