Skip to content

Commit a7d5f6e

Browse files
committed
🏷️ ufunc annotations for logical-{not,and,or,xor}
1 parent 826e1c1 commit a7d5f6e

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/numpy-stubs/__init__.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7102,7 +7102,7 @@ log: Final[_ufunc_1_1] = ...
71027102
log2: Final[_ufunc_1_1] = ...
71037103
log10: Final[_ufunc_1_1] = ...
71047104
log1p: Final[_ufunc_1_1] = ...
7105-
logical_not: Final[_ufunc_1_1] = ...
7105+
logical_not: Final[_ufunc_1_1[_Call11Bool]] = ...
71067106
negative: Final[_ufunc_1_1] = ...
71077107
positive: Final[_ufunc_1_1] = ...
71087108
rad2deg: Final[_ufunc_1_1] = ...
@@ -7159,9 +7159,9 @@ ldexp: Final[_ufunc_2_1] = ...
71597159
left_shift: Final[_ufunc_2_1] = ...
71607160
logaddexp: Final[_ufunc_2_1] = ...
71617161
logaddexp2: Final[_ufunc_2_1] = ...
7162-
logical_and: Final[_ufunc_2_1] = ...
7163-
logical_or: Final[_ufunc_2_1] = ...
7164-
logical_xor: Final[_ufunc_2_1] = ...
7162+
logical_and: Final[_ufunc_2_1[_Call21Bool]] = ...
7163+
logical_or: Final[_ufunc_2_1[_Call21Bool]] = ...
7164+
logical_xor: Final[_ufunc_2_1[_Call21Bool]] = ...
71657165
maximum: Final[_ufunc_2_1] = ...
71667166
minimum: Final[_ufunc_2_1] = ...
71677167
mod: Final[_ufunc_2_1] = ...

test/static/accept/ufuncs.pyi

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,25 @@ assert_type(np.isinf(AR_f8, out=AR_bool), npt.NDArray[np.bool_])
6262
assert_type(np.isfinite(f8), np.bool_)
6363
assert_type(np.isfinite(AR_f8), npt.NDArray[np.bool_])
6464
assert_type(np.isfinite(AR_f8, out=AR_bool), npt.NDArray[np.bool_])
65+
66+
assert_type(np.logical_not(True), np.bool_)
67+
assert_type(np.logical_not(AR_bool), npt.NDArray[np.bool_])
68+
assert_type(np.logical_not(AR_bool, out=AR_bool), npt.NDArray[np.bool_])
69+
70+
assert_type(np.logical_and(True, True), np.bool_)
71+
assert_type(np.logical_and(AR_bool, AR_bool), npt.NDArray[np.bool_])
72+
assert_type(np.logical_and(AR_bool, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
73+
assert_type(np.logical_and(AR_i8, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
74+
assert_type(np.logical_and(AR_bool, AR_i8), npt.NDArray[np.bool_])
75+
76+
assert_type(np.logical_or(True, True), np.bool_)
77+
assert_type(np.logical_or(AR_bool, AR_bool), npt.NDArray[np.bool_])
78+
assert_type(np.logical_or(AR_bool, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
79+
assert_type(np.logical_or(AR_i8, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
80+
assert_type(np.logical_or(AR_bool, AR_i8), npt.NDArray[np.bool_])
81+
82+
assert_type(np.logical_xor(True, True), np.bool_)
83+
assert_type(np.logical_xor(AR_bool, AR_bool), npt.NDArray[np.bool_])
84+
assert_type(np.logical_xor(AR_bool, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
85+
assert_type(np.logical_xor(AR_i8, AR_bool, out=AR_bool), npt.NDArray[np.bool_])
86+
assert_type(np.logical_xor(AR_bool, AR_i8), npt.NDArray[np.bool_])

0 commit comments

Comments
 (0)