Skip to content

Commit cfd6e2c

Browse files
authored
Merge pull request #585 from numpy/ufunc-improvements
2 parents 3a4b966 + b7135bb commit cfd6e2c

File tree

7 files changed

+975
-958
lines changed

7 files changed

+975
-958
lines changed

src/_numtype/__init__.pyi

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -693,17 +693,17 @@ ToObject_1nd = TypeAliasType("ToObject_1nd", _ToArray2_1nd[np.object_, _PyObject
693693
ToObject_2nd = TypeAliasType("ToObject_2nd", _ToArray2_2nd[np.object_, _PyObject])
694694
ToObject_3nd = TypeAliasType("ToObject_3nd", _ToArray2_3nd[np.object_, _PyObject])
695695

696-
ToGeneric_nd = TypeAliasType("ToGeneric_nd", _ToArray2_nd[np.generic, _PyScalar])
697-
ToGeneric_0d = TypeAliasType("ToGeneric_0d", _ToArray2_0d[np.generic, _PyScalar])
696+
ToGeneric_nd = TypeAliasType("ToGeneric_nd", _ToArray2_nd[np.generic, _PyScalar] | ToString_nd)
697+
ToGeneric_0d = TypeAliasType("ToGeneric_0d", _ToArray2_0d[np.generic, _PyScalar] | ToString_0d)
698698
ToGeneric_1d = TypeAliasType("ToGeneric_1d", _ToArray2_1d[np.generic, _PyScalar])
699699
ToGeneric_2d = TypeAliasType("ToGeneric_2d", _ToArray2_2d[np.generic, _PyScalar])
700700
ToGeneric_3d = TypeAliasType("ToGeneric_3d", _ToArray2_3d[np.generic, _PyScalar])
701-
ToGeneric_1ds = TypeAliasType("ToGeneric_1ds", _ToArray2_1ds[np.generic, _PyScalar])
702-
ToGeneric_2ds = TypeAliasType("ToGeneric_2ds", _ToArray2_2ds[np.generic, _PyScalar])
703-
ToGeneric_3ds = TypeAliasType("ToGeneric_3ds", _ToArray2_3ds[np.generic, _PyScalar])
704-
ToGeneric_1nd = TypeAliasType("ToGeneric_1nd", _ToArray2_1nd[np.generic, _PyScalar])
705-
ToGeneric_2nd = TypeAliasType("ToGeneric_2nd", _ToArray2_2nd[np.generic, _PyScalar])
706-
ToGeneric_3nd = TypeAliasType("ToGeneric_3nd", _ToArray2_3nd[np.generic, _PyScalar])
701+
ToGeneric_1ds = TypeAliasType("ToGeneric_1ds", _ToArray2_1ds[np.generic, _PyScalar] | ToString_1ds)
702+
ToGeneric_2ds = TypeAliasType("ToGeneric_2ds", _ToArray2_2ds[np.generic, _PyScalar] | ToString_2ds)
703+
ToGeneric_3ds = TypeAliasType("ToGeneric_3ds", _ToArray2_3ds[np.generic, _PyScalar] | ToString_3ds)
704+
ToGeneric_1nd = TypeAliasType("ToGeneric_1nd", _ToArray2_1nd[np.generic, _PyScalar] | ToString_1nd)
705+
ToGeneric_2nd = TypeAliasType("ToGeneric_2nd", _ToArray2_2nd[np.generic, _PyScalar] | ToString_2nd)
706+
ToGeneric_3nd = TypeAliasType("ToGeneric_3nd", _ToArray2_3nd[np.generic, _PyScalar] | ToString_3nd)
707707

708708
###
709709
# *Co*ercible (overlapping) scalar- and array-like aliases.

src/numpy-stubs/@test/static/accept/multiarray.pyi

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ assert_type(np.frompyfunc(func11, 1, 1).identity, Any | None)
117117
assert_type(np.frompyfunc(func11, 1, 1).signature, str | None)
118118
assert_type(np.frompyfunc(func11, 1, 1)(f8), bool)
119119
assert_type(np.frompyfunc(func11, 1, 1).at(AR_f8, AR_i8), None)
120-
assert_type(np.frompyfunc(func11, 1, 1)(AR_f8), bool | _nt.Array[np.object_])
120+
assert_type(np.frompyfunc(func11, 1, 1)(AR_f8), _nt.Array[np.object_])
121121

122122
assert_type(np.frompyfunc(func21, 2, 1).nin, int)
123123
assert_type(np.frompyfunc(func21, 2, 1).nout, int)
@@ -126,8 +126,8 @@ assert_type(np.frompyfunc(func21, 2, 1).ntypes, int)
126126
assert_type(np.frompyfunc(func21, 2, 1).identity, Any | None)
127127
assert_type(np.frompyfunc(func21, 2, 1).signature, str | None)
128128
assert_type(np.frompyfunc(func21, 2, 1)(f8, f8), int)
129-
assert_type(np.frompyfunc(func21, 2, 1)(AR_f8, f8), int | _nt.Array[np.object_])
130-
assert_type(np.frompyfunc(func21, 2, 1)(f8, AR_f8), int | _nt.Array[np.object_])
129+
assert_type(np.frompyfunc(func21, 2, 1)(AR_f8, f8), _nt.Array[np.object_])
130+
assert_type(np.frompyfunc(func21, 2, 1)(f8, AR_f8), _nt.Array[np.object_])
131131
assert_type(np.frompyfunc(func21, 2, 1).reduce(AR_f8, axis=0), Any)
132132
assert_type(np.frompyfunc(func21, 2, 1).accumulate(AR_f8), _nt.Array[Any])
133133
assert_type(np.frompyfunc(func21, 2, 1).reduceat(AR_f8, AR_i8), _nt.Array[Any])
@@ -147,7 +147,7 @@ assert_type(np.frompyfunc(func12, 1, 2).ntypes, int)
147147
assert_type(np.frompyfunc(func12, 1, 2).identity, Any | None)
148148
assert_type(np.frompyfunc(func12, 1, 2).signature, str | None)
149149
assert_type(np.frompyfunc(func12, 1, 2)(f8, f8), tuple[complex, str])
150-
assert_type(np.frompyfunc(func12, 1, 2)(AR_f8, f8), tuple[complex | _nt.Array[np.object_], str | _nt.Array[np.object_]])
150+
assert_type(np.frompyfunc(func12, 1, 2)(AR_f8, f8), tuple[_nt.Array[np.object_], _nt.Array[np.object_]])
151151

152152
assert_type(np.datetime_data("m8[D]"), tuple[str, int])
153153
assert_type(np.datetime_data(np.datetime64), tuple[str, int])

src/numpy-stubs/@test/static/accept/ufuncs.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ assert_type(np.isnat(td64), np.bool_)
5252
assert_type(np.isnat([td64, td64]), _nt.Array[np.bool_])
5353
assert_type(np.isnat([td64, td64], out=AR_bool), _nt.Array[np.bool_])
5454
assert_type(np.isnat(AR_dt64), _nt.Array[np.bool_])
55-
assert_type(np.isnat(AR_dt64, out=AR_bool), _nt.Array[np.bool_])
5655
assert_type(np.isnat(AR_td64), _nt.Array[np.bool_])
56+
assert_type(np.isnat(AR_dt64, out=AR_bool), _nt.Array[np.bool_])
5757
assert_type(np.isnat(AR_td64, out=AR_bool), _nt.Array[np.bool_])
5858

5959
assert_type(np.isinf(f8), np.bool_)
@@ -67,7 +67,7 @@ assert_type(np.isfinite(AR_f8, out=AR_bool), _nt.Array[np.bool_])
6767
assert_type(np.logical_not(True), np.bool_)
6868
assert_type(np.logical_not(AR_bool), _nt.Array[np.bool_])
6969
assert_type(np.logical_not(AR_bool, out=AR_bool), _nt.Array[np.bool_])
70-
assert_type(np.logical_not(AR_bool, dtype=np.object_), _nt.Array[np.object_] | bool)
70+
assert_type(np.logical_not(AR_bool, dtype=np.object_), _nt.Array[np.object_])
7171

7272
assert_type(np.logical_and(True, True), np.bool_)
7373
assert_type(np.logical_and(AR_bool, AR_bool), _nt.Array[np.bool_])

0 commit comments

Comments
 (0)