1
+ from __future__ import annotations
2
+
3
+ from ._types import Optional , Tuple , Union , array , device , dtype
4
+
1
5
import numpy as np
2
6
3
- def arange (start , / , * , stop = None , step = 1 , dtype = None , device = None ):
7
+ 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 :
4
8
"""
5
9
Array API compatible wrapper for :py:func:`np.arange <numpy.arange>`.
6
10
@@ -11,7 +15,7 @@ def arange(start, /, *, stop=None, step=1, dtype=None, device=None):
11
15
raise NotImplementedError ("Device support is not yet implemented" )
12
16
return np .arange (start , stop = stop , step = step , dtype = dtype )
13
17
14
- def empty (shape , / , * , dtype = None , device = None ):
18
+ def empty (shape : Union [ int , Tuple [ int , ...]], / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
15
19
"""
16
20
Array API compatible wrapper for :py:func:`np.empty <numpy.empty>`.
17
21
@@ -22,7 +26,7 @@ def empty(shape, /, *, dtype=None, device=None):
22
26
raise NotImplementedError ("Device support is not yet implemented" )
23
27
return np .empty (shape , dtype = dtype )
24
28
25
- def empty_like (x , / , * , dtype = None , device = None ):
29
+ def empty_like (x : array , / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
26
30
"""
27
31
Array API compatible wrapper for :py:func:`np.empty_like <numpy.empty_like>`.
28
32
@@ -33,7 +37,7 @@ def empty_like(x, /, *, dtype=None, device=None):
33
37
raise NotImplementedError ("Device support is not yet implemented" )
34
38
return np .empty_like (x , dtype = dtype )
35
39
36
- def eye (N , / , * , M = None , k = 0 , dtype = None , device = None ):
40
+ def eye (N : int , / , * , M : Optional [ int ] = None , k : Optional [ int ] = 0 , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
37
41
"""
38
42
Array API compatible wrapper for :py:func:`np.eye <numpy.eye>`.
39
43
@@ -44,7 +48,7 @@ def eye(N, /, *, M=None, k=0, dtype=None, device=None):
44
48
raise NotImplementedError ("Device support is not yet implemented" )
45
49
return np .eye (N , M = M , k = k , dtype = dtype )
46
50
47
- def full (shape , fill_value , / , * , dtype = None , device = None ):
51
+ def full (shape : Union [ int , Tuple [ int , ...]], fill_value : Union [ int , float ], / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
48
52
"""
49
53
Array API compatible wrapper for :py:func:`np.full <numpy.full>`.
50
54
@@ -55,7 +59,7 @@ def full(shape, fill_value, /, *, dtype=None, device=None):
55
59
raise NotImplementedError ("Device support is not yet implemented" )
56
60
return np .full (shape , fill_value , dtype = dtype )
57
61
58
- def full_like (x , fill_value , / , * , dtype = None , device = None ):
62
+ def full_like (x : array , fill_value : Union [ int , float ], / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
59
63
"""
60
64
Array API compatible wrapper for :py:func:`np.full_like <numpy.full_like>`.
61
65
@@ -66,7 +70,7 @@ def full_like(x, fill_value, /, *, dtype=None, device=None):
66
70
raise NotImplementedError ("Device support is not yet implemented" )
67
71
return np .full_like (x , fill_value , dtype = dtype )
68
72
69
- def linspace (start , stop , num , / , * , dtype = None , device = None , endpoint = True ):
73
+ 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 :
70
74
"""
71
75
Array API compatible wrapper for :py:func:`np.linspace <numpy.linspace>`.
72
76
@@ -77,7 +81,7 @@ def linspace(start, stop, num, /, *, dtype=None, device=None, endpoint=True):
77
81
raise NotImplementedError ("Device support is not yet implemented" )
78
82
return np .linspace (start , stop , num , dtype = dtype , endpoint = endpoint )
79
83
80
- def ones (shape , / , * , dtype = None , device = None ):
84
+ def ones (shape : Union [ int , Tuple [ int , ...]], / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
81
85
"""
82
86
Array API compatible wrapper for :py:func:`np.ones <numpy.ones>`.
83
87
@@ -88,7 +92,7 @@ def ones(shape, /, *, dtype=None, device=None):
88
92
raise NotImplementedError ("Device support is not yet implemented" )
89
93
return np .ones (shape , dtype = dtype )
90
94
91
- def ones_like (x , / , * , dtype = None , device = None ):
95
+ def ones_like (x : array , / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
92
96
"""
93
97
Array API compatible wrapper for :py:func:`np.ones_like <numpy.ones_like>`.
94
98
@@ -99,7 +103,7 @@ def ones_like(x, /, *, dtype=None, device=None):
99
103
raise NotImplementedError ("Device support is not yet implemented" )
100
104
return np .ones_like (x , dtype = dtype )
101
105
102
- def zeros (shape , / , * , dtype = None , device = None ):
106
+ def zeros (shape : Union [ int , Tuple [ int , ...]], / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
103
107
"""
104
108
Array API compatible wrapper for :py:func:`np.zeros <numpy.zeros>`.
105
109
@@ -110,7 +114,7 @@ def zeros(shape, /, *, dtype=None, device=None):
110
114
raise NotImplementedError ("Device support is not yet implemented" )
111
115
return np .zeros (shape , dtype = dtype )
112
116
113
- def zeros_like (x , / , * , dtype = None , device = None ):
117
+ def zeros_like (x : array , / , * , dtype : Optional [ dtype ] = None , device : Optional [ device ] = None ) -> array :
114
118
"""
115
119
Array API compatible wrapper for :py:func:`np.zeros_like <numpy.zeros_like>`.
116
120
0 commit comments