diff options
Diffstat (limited to 'numpy/_array_api/_creation_functions.py')
-rw-r--r-- | numpy/_array_api/_creation_functions.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/numpy/_array_api/_creation_functions.py b/numpy/_array_api/_creation_functions.py index b6c0c22cc..1aeaffb71 100644 --- a/numpy/_array_api/_creation_functions.py +++ b/numpy/_array_api/_creation_functions.py @@ -1,6 +1,10 @@ +from __future__ import annotations + +from ._types import Optional, Tuple, Union, array, device, dtype + import numpy as np -def arange(start, /, *, stop=None, step=1, dtype=None, device=None): +def arange(start: Union[int, float], /, *, stop: Optional[Union[int, float]] = None, step: Union[int, float] = 1, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.arange <numpy.arange>`. @@ -11,7 +15,7 @@ def arange(start, /, *, stop=None, step=1, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.arange(start, stop=stop, step=step, dtype=dtype) -def empty(shape, /, *, dtype=None, device=None): +def empty(shape: Union[int, Tuple[int, ...]], /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.empty <numpy.empty>`. @@ -22,7 +26,7 @@ def empty(shape, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.empty(shape, dtype=dtype) -def empty_like(x, /, *, dtype=None, device=None): +def empty_like(x: array, /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.empty_like <numpy.empty_like>`. @@ -33,7 +37,7 @@ def empty_like(x, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.empty_like(x, dtype=dtype) -def eye(N, /, *, M=None, k=0, dtype=None, device=None): +def eye(N: int, /, *, M: Optional[int] = None, k: Optional[int] = 0, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.eye <numpy.eye>`. @@ -44,7 +48,7 @@ def eye(N, /, *, M=None, k=0, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.eye(N, M=M, k=k, dtype=dtype) -def full(shape, fill_value, /, *, dtype=None, device=None): +def full(shape: Union[int, Tuple[int, ...]], fill_value: Union[int, float], /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.full <numpy.full>`. @@ -55,7 +59,7 @@ def full(shape, fill_value, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.full(shape, fill_value, dtype=dtype) -def full_like(x, fill_value, /, *, dtype=None, device=None): +def full_like(x: array, fill_value: Union[int, float], /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.full_like <numpy.full_like>`. @@ -66,7 +70,7 @@ def full_like(x, fill_value, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.full_like(x, fill_value, dtype=dtype) -def linspace(start, stop, num, /, *, dtype=None, device=None, endpoint=True): +def linspace(start: Union[int, float], stop: Union[int, float], num: int, /, *, dtype: Optional[dtype] = None, device: Optional[device] = None, endpoint: Optional[bool] = True) -> array: """ Array API compatible wrapper for :py:func:`np.linspace <numpy.linspace>`. @@ -77,7 +81,7 @@ def linspace(start, stop, num, /, *, dtype=None, device=None, endpoint=True): raise NotImplementedError("Device support is not yet implemented") return np.linspace(start, stop, num, dtype=dtype, endpoint=endpoint) -def ones(shape, /, *, dtype=None, device=None): +def ones(shape: Union[int, Tuple[int, ...]], /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.ones <numpy.ones>`. @@ -88,7 +92,7 @@ def ones(shape, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.ones(shape, dtype=dtype) -def ones_like(x, /, *, dtype=None, device=None): +def ones_like(x: array, /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.ones_like <numpy.ones_like>`. @@ -99,7 +103,7 @@ def ones_like(x, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.ones_like(x, dtype=dtype) -def zeros(shape, /, *, dtype=None, device=None): +def zeros(shape: Union[int, Tuple[int, ...]], /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.zeros <numpy.zeros>`. @@ -110,7 +114,7 @@ def zeros(shape, /, *, dtype=None, device=None): raise NotImplementedError("Device support is not yet implemented") return np.zeros(shape, dtype=dtype) -def zeros_like(x, /, *, dtype=None, device=None): +def zeros_like(x: array, /, *, dtype: Optional[dtype] = None, device: Optional[device] = None) -> array: """ Array API compatible wrapper for :py:func:`np.zeros_like <numpy.zeros_like>`. |