8000 Addressed https://github.com/numpy/numpy/pull/16729#discussion_r44908… · numpy/numpy@5a42440 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5a42440

Browse files
author
Bas van Beek
committed
Addressed #16729 (comment)
Return `out` if `out != None`
1 parent 62f26cf commit 5a42440

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

numpy/__init__.pyi

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,7 +1245,7 @@ def prod(
12451245
a: _Number,
12461246
axis: Optional[_ShapeLike] = ...,
12471247
dtype: DtypeLike = ...,
1248-
out: Optional[ndarray] = ...,
1248+
out: None = ...,
12491249
keepdims: bool = ...,
12501250
initial: _NumberLike = ...,
12511251
where: _ArrayLikeBool = ...,
@@ -1255,7 +1255,7 @@ def prod(
12551255
a: ArrayLike,
12561256
axis: None = ...,
12571257
dtype: DtypeLike = ...,
1258-
out: Optional[ndarray] = ...,
1258+
out: None = ...,
12591259
keepdims: Literal[False] = ...,
12601260
initial: _NumberLike = ...,
12611261
where: _ArrayLikeBool = ...,
@@ -1295,7 +1295,7 @@ def mean(
12951295
a: ArrayLike,
12961296
axis: None = ...,
12971297
dtype: DtypeLike = ...,
1298-
out: Optional[ndarray] = ...,
1298+
out: None = ...,
12991299
keepdims: Literal[False] = ...,
13001300
) -> number: ...
13011301
@overload
@@ -1311,7 +1311,7 @@ def std(
13111311
a: ArrayLike,
13121312
axis: None = ...,
13131313
dtype: DtypeLike = ...,
1314-
out: Optional[ndarray] = ...,
1314+
out: None = ...,
13151315
ddof: int = ...,
13161316
keepdims: Literal[False] = ...,
13171317
) -> number: ...
@@ -1329,7 +1329,7 @@ def var(
13291329
a: ArrayLike,
13301330
axis: None = ...,
13311331
dtype: DtypeLike = ...,
1332-
out: Optional[ndarray] = ...,
1332+
out: None = ...,
13331333
ddof: int = ...,
13341334
keepdims: Literal[False] = ...,
13351335
) -> number: ...

numpy/tests/typing/pass/fromnumeric.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
a = np.bool_(True)
1111
b = np.float32(1.0)
1212
c = 1.0
13+
d = np.array(1.0, dtype=np.float32) # writeable
1314

1415
np.take(a, 0)
1516
np.take(b, 0)
@@ -193,6 +194,8 @@
193194
np.prod(B, axis=0)
194195
np.prod(A, keepdims=True)
195196
np.prod(B, keepdims=True)
197+
np.prod(b, out=d)
198+
np.prod(B, out=d)
196199

197200
np.cumprod(a)
198201
np.cumprod(b)
@@ -227,6 +230,8 @@
227230
np.mean(B, axis=0)
228231
np.mean(A, keepdims=True)
229232
np.mean(B, keepdims=True)
233+
np.mean(b, out=d)
234+
np.mean(B, out=d)
230235

231236
np.std(a)
232237
np.std(b)
@@ -237,6 +242,8 @@
237242
np.std(B, axis=0)
238243
np.std(A, keepdims=True)
239244
np.std(B, keepdims=True)
245+
np.std(b, out=d)
246+
np.std(B, out=d)
240247

241248
np.var(a)
242249
np.var(b)
@@ -247,3 +254,5 @@
247254
np.var(B, axis=0)
248255
np.var(A, keepdims=True)
249256
np.var(B, keepdims=True)
257+
np.var(b, out=d)
258+
np.var(B, out=d)

numpy/tests/typing/reveal/fromnumeric.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
a = np.bool_(True)
1111
b = np.float32(1.0)
1212
c = 1.0
13+
d = np.array(1.0, dtype=np.float32) # writeable
1314

1415
reveal_type(np.take(a, 0)) # E: numpy.bool_
1516
reveal_type(np.take(b, 0)) # E: numpy.float32
@@ -213,6 +214,8 @@
213214
reveal_type(np.prod(B, axis=0)) # E: Union[numpy.number, numpy.ndarray]
214215
reveal_type(np.prod(A, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
215216
reveal_type(np.prod(B, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
217+
reveal_type(np.prod(b, out=d)) # E: numpy.ndarray
218+
reveal_type(np.prod(B, out=d)) # E: numpy.ndarray
216219

217220
reveal_type(np.cumprod(a)) # E: numpy.ndarray
218221
reveal_type(np.cumprod(b)) # E: numpy.ndarray
@@ -247,6 +250,8 @@
247250
reveal_type(np.mean(B, axis=0)) # E: Union[numpy.number, numpy.ndarray]
248251
reveal_type(np.mean(A, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
249252
reveal_type(np.mean(B, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
253+
reveal_type(np.mean(b, out=d)) # E: numpy.ndarray
254+
reveal_type(np.mean(B, out=d)) # E: numpy.ndarray
250255

251256
reveal_type(np.std(a)) # E: numpy.number
252257
reveal_type(np.std(b)) # E: numpy.number
@@ -257,6 +262,8 @@
257262
reveal_type(np.std(B, axis=0)) # E: Union[numpy.number, numpy.ndarray]
258263
reveal_type(np.std(A, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
259264
reveal_type(np.std(B, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
265+
reveal_type(np.std(b, out=d)) # E: numpy.ndarray
266+
reveal_type(np.std(B, out=d)) # E: numpy.ndarray
260267

261268
reveal_type(np.var(a)) # E: numpy.number
262269
reveal_type(np.var(b)) # E: numpy.number
@@ -267,3 +274,5 @@
267274
reveal_type(np.var(B, axis=0)) # E: Union[numpy.number, numpy.ndarray]
268275
reveal_type(np.var(A, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
269276
reveal_type(np.var(B, keepdims=True)) # E: Union[numpy.number, numpy.ndarray]
277+
reveal_type(np.var(b, out=d)) # E: numpy.ndarray
278+
reveal_type(np.var(B, out=d)) # E: numpy.ndarray

0 commit comments

Comments
 (0)
0