summaryrefslogtreecommitdiff
path: root/numpy/_array_api/_statistical_functions.py
diff options
context:
space:
mode:
authorAaron Meurer <asmeurer@gmail.com>2021-01-20 16:11:17 -0700
committerAaron Meurer <asmeurer@gmail.com>2021-01-20 16:11:17 -0700
commitbe1b1932f73fb5946b4867337ba2fd2d31964d11 (patch)
tree8a05934e452a13c9b6f93ffa238809f90104c777 /numpy/_array_api/_statistical_functions.py
parentdf698f80732508af50b24ecc1b4bd34c470aaba8 (diff)
downloadnumpy-be1b1932f73fb5946b4867337ba2fd2d31964d11.tar.gz
Add type annotations to the array api submodule function definitions
Some stubs still need to be modified to properly pass mypy type checking. Also, 'device' is just left as a TypeVar() for now.
Diffstat (limited to 'numpy/_array_api/_statistical_functions.py')
-rw-r--r--numpy/_array_api/_statistical_functions.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/numpy/_array_api/_statistical_functions.py b/numpy/_array_api/_statistical_functions.py
index 833c47f66..020053896 100644
--- a/numpy/_array_api/_statistical_functions.py
+++ b/numpy/_array_api/_statistical_functions.py
@@ -1,24 +1,28 @@
+from __future__ import annotations
+
+from ._types import Optional, Tuple, Union, array
+
import numpy as np
-def max(x, /, *, axis=None, keepdims=False):
+def max(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, keepdims: bool = False) -> array:
return np.max(x, axis=axis, keepdims=keepdims)
-def mean(x, /, *, axis=None, keepdims=False):
+def mean(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, keepdims: bool = False) -> array:
return np.mean(x, axis=axis, keepdims=keepdims)
-def min(x, /, *, axis=None, keepdims=False):
+def min(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, keepdims: bool = False) -> array:
return np.min(x, axis=axis, keepdims=keepdims)
-def prod(x, /, *, axis=None, keepdims=False):
+def prod(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, keepdims: bool = False) -> array:
return np.prod(x, axis=axis, keepdims=keepdims)
-def std(x, /, *, axis=None, correction=0.0, keepdims=False):
+def std(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, correction: Union[int, float] = 0.0, keepdims: bool = False) -> array:
# Note: the keyword argument correction is different here
return np.std(x, axis=axis, ddof=correction, keepdims=keepdims)
-def sum(x, /, *, axis=None, keepdims=False):
+def sum(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, keepdims: bool = False) -> array:
return np.sum(x, axis=axis, keepdims=keepdims)
-def var(x, /, *, axis=None, correction=0.0, keepdims=False):
+def var(x: array, /, *, axis: Optional[Union[int, Tuple[int, ...]]] = None, correction: Union[int, float] = 0.0, keepdims: bool = False) -> array:
# Note: the keyword argument correction is different here
return np.var(x, axis=axis, ddof=correction, keepdims=keepdims)