1
1
from collections .abc import Callable , Sequence
2
- from typing import Any , Literal as L , TypeAlias , overload
2
+ from typing import Literal as L , TypeAlias , overload
3
3
from typing_extensions import TypeVar
4
4
5
5
import numpy as np
6
6
from _numtype import (
7
+ Array ,
7
8
CoComplex_1d ,
8
9
CoFloat64_1d ,
9
10
Is ,
10
11
ToBool_1d ,
12
+ ToBool_1nd ,
13
+ ToBytes_1nd ,
14
+ ToComplex128_1nd ,
11
15
ToComplex_1d ,
16
+ ToFloat64_1nd ,
12
17
ToFloat64_2d ,
13
18
ToFloating_1d ,
14
19
ToIntP_1d ,
20
+ ToIntP_1nd ,
15
21
ToInteger_1d ,
16
22
ToObject_1d ,
23
+ ToStr_1nd ,
17
24
_ToArray1_1d ,
25
+ _ToArray1_1nd ,
18
26
)
19
27
from numpy import _OrderCF # noqa: ICN003
20
- from numpy ._typing import (
21
- ArrayLike ,
22
- DTypeLike ,
23
- NDArray ,
24
- _ArrayLike ,
25
- _DTypeLike ,
26
- _SupportsArrayFunc as _CanArrayFunc ,
27
- )
28
+ from numpy ._typing import ArrayLike , DTypeLike , _ArrayLike , _DTypeLike , _SupportsArrayFunc as _CanArrayFunc
28
29
29
30
__all__ = [
30
31
"diag" ,
@@ -52,8 +53,8 @@ _NumericT = TypeVar("_NumericT", bound=_CoComplex)
52
53
53
54
# The returned arrays dtype must be compatible with `np.equal`
54
55
_MaskFunc : TypeAlias = Callable [
55
- [NDArray [np .intp ], _T ],
56
- NDArray [np .number | np .bool | np .timedelta64 | np .datetime64 | np .object_ ],
56
+ [Array [np .intp ], _T ],
57
+ Array [np .number | np .bool | np .timedelta64 | np .datetime64 | np .object_ ],
57
58
]
58
59
59
60
_CoInt : TypeAlias = np .integer | np .bool
@@ -63,15 +64,15 @@ _CoComplex: TypeAlias = np.number | np.bool
63
64
###
64
65
65
66
@overload
66
- def fliplr (m : _ArrayLike [_ScalarT ]) -> NDArray [_ScalarT ]: ...
67
+ def fliplr (m : _ArrayLike [_ScalarT ]) -> Array [_ScalarT ]: ...
67
68
@overload
68
- def fliplr (m : ArrayLike ) -> NDArray [ Any ] : ...
69
+ def fliplr (m : ArrayLike ) -> Array : ...
69
70
70
71
#
71
72
@overload
72
- def flipud (m : _ArrayLike [_ScalarT ]) -> NDArray [_ScalarT ]: ...
73
+ def flipud (m : _ArrayLike [_ScalarT ]) -> Array [_ScalarT ]: ...
73
74
@overload
74
- def flipud (m : ArrayLike ) -> NDArray [ Any ] : ...
75
+ def flipud (m : ArrayLike ) -> Array : ...
75
76
76
77
#
77
78
@overload
@@ -84,7 +85,7 @@ def eye(
84
85
* ,
85
86
device : L ["cpu" ] | None = None ,
86
87
like : _CanArrayFunc | None = None ,
87
- ) -> NDArray [np .float64 ]: ...
88
+ ) -> Array [np .float64 ]: ...
88
89
@overload
89
90
def eye (
90
91
N : int ,
@@ -95,7 +96,7 @@ def eye(
95
96
* ,
96
97
device : L ["cpu" ] | None = None ,
97
98
like : _CanArrayFunc | None = None ,
98
- ) -> NDArray [_ScalarT ]: ...
99
+ ) -> Array [_ScalarT ]: ...
99
100
@overload
100
101
def eye (
101
102
N : int ,
@@ -106,7 +107,7 @@ def eye(
106
107
order : _OrderCF = "C" ,
107
108
device : L ["cpu" ] | None = None ,
108
109
like : _CanArrayFunc | None = None ,
109
- ) -> NDArray [_ScalarT ]: ...
110
+ ) -> Array [_ScalarT ]: ...
110
111
@overload
111
112
def eye (
112
113
N : int ,
@@ -117,19 +118,19 @@ def eye(
117
118
* ,
118
119
device : L ["cpu" ] | None = None ,
119
120
like : _CanArrayFunc | None = None ,
120
- ) -> NDArray [ Any ] : ...
121
+ ) -> Array : ...
121
122
122
123
#
123
124
@overload
124
- def diag (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> NDArray [_ScalarT ]: ...
125
+ def diag (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> Array [_ScalarT ]: ...
125
126
@overload
126
- def diag (v : ArrayLike , k : int = 0 ) -> NDArray [ Any ] : ...
127
+ def diag (v : ArrayLike , k : int = 0 ) -> Array : ...
127
128
128
129
#
129
130
@overload
130
- def diagflat (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> NDArray [_ScalarT ]: ...
131
+ def diagflat (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> Array [_ScalarT ]: ...
131
132
@overload
132
- def diagflat (v : ArrayLike , k : int = 0 ) -> NDArray [ Any ] : ...
133
+ def diagflat (v : ArrayLike , k : int = 0 ) -> Array : ...
133
134
134
135
#
135
136
@overload
@@ -140,7 +141,7 @@ def tri(
140
141
dtype : type [Is [float ]] | None = ...,
141
142
* ,
142
143
like : _CanArrayFunc | None = None ,
143
- ) -> NDArray [np .float64 ]: ...
144
+ ) -> Array [np .float64 ]: ...
144
145
@overload
145
146
def tri (
146
147
N : int ,
@@ -149,7 +150,7 @@ def tri(
149
150
dtype : _DTypeLike [_ScalarT ],
150
151
* ,
151
152
like : _CanArrayFunc | None = None ,
152
- ) -> NDArray [_ScalarT ]: ...
153
+ ) -> Array [_ScalarT ]: ...
153
154
@overload
154
155
def tri (
155
156
N : int ,
@@ -158,7 +159,7 @@ def tri(
158
159
* ,
159
160
dtype : _DTypeLike [_ScalarT ],
160
161
like : _CanArrayFunc | None = None ,
161
- ) -> NDArray [_ScalarT ]: ...
162
+ ) -> Array [_ScalarT ]: ...
162
163
@overload
163
164
def tri (
164
165
N : int ,
@@ -167,31 +168,57 @@ def tri(
167
168
dtype : DTypeLike = ...,
168
169
* ,
169
170
like : _CanArrayFunc | None = None ,
170
- ) -> NDArray [ Any ] : ...
171
+ ) -> Array : ...
171
172
172
173
#
173
174
@overload
174
- def tril (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> NDArray [_ScalarT ]: ...
175
+ def tril (m : _ToArray1_1nd [_ScalarT ], k : int = 0 ) -> Array [_ScalarT ]: ...
176
+ @overload
177
+ def tril (m : ToBool_1nd , k : int = 0 ) -> Array [np .bool ]: ...
178
+ @overload
179
+ def tril (m : ToIntP_1nd , k : int = 0 ) -> Array [np .intp ]: ...
180
+ @overload
181
+ def tril (m : ToFloat64_1nd , k : int = 0 ) -> Array [np .float64 ]: ...
182
+ @overload
183
+ def tril (m : ToComplex128_1nd , k : int = 0 ) -> Array [np .complex128 ]: ...
175
184
@overload
176
- def tril (v : ArrayLike , k : int = 0 ) -> NDArray [Any ]: ...
185
+ def tril (m : ToBytes_1nd , k : int = 0 ) -> Array [np .bytes_ ]: ...
186
+ @overload
187
+ def tril (m : ToStr_1nd , k : int = 0 ) -> Array [np .str_ ]: ...
188
+ @overload
189
+ def tril (m : ArrayLike , k : int = 0 ) -> Array : ...
177
190
178
191
#
179
192
@overload
180
- def triu (v : _ArrayLike [_ScalarT ], k : int = 0 ) -> NDArray [_ScalarT ]: ...
193
+ def triu (m : _ToArray1_1nd [_ScalarT ], k : int = 0 ) -> Array [_ScalarT ]: ...
194
+ @overload
195
+ def triu (m : ToBool_1nd , k : int = 0 ) -> Array [np .bool ]: ...
196
+ @overload
197
+ def triu (m : ToIntP_1nd , k : int = 0 ) -> Array [np .intp ]: ...
181
198
@overload
182
- def triu (v : ArrayLike , k : int = 0 ) -> NDArray [Any ]: ...
199
+ def triu (m : ToFloat64_1nd , k : int = 0 ) -> Array [np .float64 ]: ...
200
+ @overload
201
+ def triu (m : ToComplex128_1nd , k : int = 0 ) -> Array [np .complex128 ]: ...
202
+ @overload
203
+ def triu (m : ToBytes_1nd , k : int = 0 ) -> Array [np .bytes_ ]: ...
204
+ @overload
205
+ def triu (m : ToStr_1nd , k : int = 0 ) -> Array [np .str_ ]: ...
206
+ @overload
207
+ def triu (m : ArrayLike , k : int = 0 ) -> Array : ...
183
208
184
209
#
185
210
@overload
186
- def vander (x : ToBool_1d , N : int | None = None , increasing : bool = False ) -> NDArray [np .intp ]: ...
211
+ def vander (x : ToBool_1d , N : int | None = None , increasing : bool = False ) -> Array [np .intp ]: ...
187
212
@overload
188
- def vander (x : ToInteger_1d , N : int | None = None , increasing : bool = False ) -> NDArray [np .signedinteger ]: ...
213
+ def vander (x : ToInteger_1d , N : int | None = None , increasing : bool = False ) -> Array [np .signedinteger ]: ...
189
214
@overload
190
- def vander (x : ToFloating_1d , N : int | None = None , increasing : bool = False ) -> NDArray [np .floating ]: ...
215
+ def vander (x : ToFloating_1d , N : int | None = None , increasing : bool = False ) -> Array [np .floating ]: ...
191
216
@overload
192
- def vander (x : ToComplex_1d , N : int | None = None , increasing : bool = False ) -> NDArray [np .complexfloating ]: ...
217
+ def vander (x : ToComplex_1d , N : int | None = None , increasing : bool = False ) -> Array [np .complexfloating ]: ...
193
218
@overload
194
- def vander (x : ToObject_1d , N : int | None = None , increasing : bool = False ) -> NDArray [np .object_ ]: ...
219
+ def vander (x : ToObject_1d , N : int | None = None , increasing : bool = False ) -> Array [np .object_ ]: ...
220
+
221
+ #
195
222
@overload
196
223
def histogram2d (
197
224
x : _ToArray1_1d [_ComplexT ],
@@ -200,7 +227,7 @@ def histogram2d(
200
227
range : ToFloat64_2d | None = None ,
201
228
density : bool | None = None ,
202
229
weights : CoFloat64_1d | None = None ,
203
- ) -> tuple [NDArray [np .float64 ], NDArray [_ComplexT ], NDArray [_ComplexT ]]: ...
230
+ ) -> tuple [Array [np .float64 ], Array [_ComplexT ], Array [_ComplexT ]]: ...
204
231
@overload
205
232
def histogram2d (
206
233
x : _ToArray1_1d [_ComplexT | _CoFloat ],
@@ -209,7 +236,7 @@ def histogram2d(
209
236
range : ToFloat64_2d | None = None ,
210
237
density : bool | None = None ,
211
238
weights : CoFloat64_1d | None = None ,
212
- ) -> tuple [NDArray [np .float64 ], NDArray [_ComplexT ], NDArray [_ComplexT ]]: ...
239
+ ) -> tuple [Array [np .float64 ], Array [_ComplexT ], Array [_ComplexT ]]: ...
213
240
@overload
214
241
def histogram2d (
215
242
x : _ToArray1_1d [_InexactT ],
@@ -218,7 +245,7 @@ def histogram2d(
218
245
range : ToFloat64_2d | None = None ,
219
246
density : bool | None = None ,
220
247
weights : CoFloat64_1d | None = None ,
221
- ) -> tuple [NDArray [np .float64 ], NDArray [_InexactT ], NDArray [_InexactT ]]: ...
248
+ ) -> tuple [Array [np .float64 ], Array [_InexactT ], Array [_InexactT ]]: ...
222
249
@overload
223
250
def histogram2d (
224
251
x : _ToArray1_1d [_InexactT | _CoInt ],
@@ -227,7 +254,7 @@ def histogram2d(
227
254
range : ToFloat64_2d | None = None ,
228
255
density : bool | None = None ,
229
256
weights : CoFloat64_1d | None = None ,
230
- ) -> tuple [NDArray [np .float64 ], NDArray [_InexactT ], NDArray [_InexactT ]]: ...
257
+ ) -> tuple [Array [np .float64 ], Array [_InexactT ], Array [_InexactT ]]: ...
231
258
@overload
232
259
def histogram2d (
233
260
x : CoFloat64_1d ,
@@ -236,7 +263,7 @@ def histogram2d(
236
263
range : ToFloat64_2d | None = None ,
237
264
density : bool | None = None ,
238
265
weights : CoFloat64_1d | None = None ,
239
- ) -> tuple [NDArray [np .float64 ], NDArray [np .float64 ], NDArray [np .float64 ]]: ...
266
+ ) -> tuple [Array [np .float64 ], Array [np .float64 ], Array [np .float64 ]]: ...
240
267
@overload
241
268
def histogram2d (
242
269
x : Sequence [complex ],
@@ -245,7 +272,7 @@ def histogram2d(
245
272
range : ToFloat64_2d | None = None ,
246
273
density : bool | None = None ,
247
274
weights : CoFloat64_1d | None = None ,
248
- ) -> tuple [NDArray [np .float64 ], NDArray [np .complex128 | np .float64 ], NDArray [np .complex128 | np .float64 ]]: ...
275
+ ) -> tuple [Array [np .float64 ], Array [np .complex128 | np .float64 ], Array [np .complex128 | np .float64 ]]: ...
249
276
@overload
250
277
def histogram2d (
251
278
x : CoComplex_1d ,
@@ -254,7 +281,7 @@ def histogram2d(
254
281
range : ToFloat64_2d | None = None ,
255
282
density : bool | None = None ,
256
283
weights : CoFloat64_1d | None = None ,
257
- ) -> tuple [NDArray [np .float64 ], NDArray [_NumericT ], NDArray [_NumericT ]]: ...
284
+ ) -> tuple [Array [np .float64 ], Array [_NumericT ], Array [_NumericT ]]: ...
258
285
@overload
259
286
def histogram2d (
260
287
x : _ToArray1_1d [_InexactT ],
@@ -263,7 +290,7 @@ def histogram2d(
263
290
range : ToFloat64_2d | None = None ,
264
291
density : bool | None = None ,
265
292
weights : CoFloat64_1d | None = None ,
266
- ) -> tuple [NDArray [np .float64 ], NDArray [_NumericT | _InexactT ], NDArray [_NumericT | _InexactT ]]: ...
293
+ ) -> tuple [Array [np .float64 ], Array [_NumericT | _InexactT ], Array [_NumericT | _InexactT ]]: ...
267
294
@overload
268
295
def histogram2d (
269
296
x : ToIntP_1d | Sequence [float ],
@@ -272,7 +299,7 @@ def histogram2d(
272
299
range : ToFloat64_2d | None = None ,
273
300
density : bool | None = None ,
274
301
weights : CoFloat64_1d | None = None ,
275
- ) -> tuple [NDArray [np .float64 ], NDArray [_NumericT | np .float64 ], NDArray [_NumericT | np .float64 ]]: ...
302
+ ) -> tuple [Array [np .float64 ], Array [_NumericT | np .float64 ], Array [_NumericT | np .float64 ]]: ...
276
303
@overload
277
304
def histogram2d (
278
305
x : Sequence [complex ],
@@ -282,9 +309,9 @@ def histogram2d(
282
309
density : bool | None = None ,
283
310
weights : CoFloat64_1d | None = None ,
284
311
) -> tuple [
285
- NDArray [np .float64 ],
286
- NDArray [_NumericT | np .complex128 | np .float64 ],
287
- NDArray [_NumericT | np .complex128 | np .float64 ],
312
+ Array [np .float64 ],
313
+ Array [_NumericT | np .complex128 | np .float64 ],
314
+ Array [_NumericT | np .complex128 | np .float64 ],
288
315
]: ...
289
316
@overload
290
317
def histogram2d (
@@ -294,7 +321,7 @@ def histogram2d(
294
321
range : ToFloat64_2d | None = None ,
295
322
density : bool | None = None ,
296
323
weights : CoFloat64_1d | None = None ,
297
- ) -> tuple [NDArray [np .float64 ], NDArray [np .bool ], NDArray [np .bool ]]: ...
324
+ ) -> tuple [Array [np .float64 ], Array [np .bool ], Array [np .bool ]]: ...
298
325
@overload
299
326
def histogram2d (
300
327
x : CoComplex_1d ,
@@ -303,7 +330,7 @@ def histogram2d(
303
330
range : ToFloat64_2d | None = None ,
304
331
density : bool | None = None ,
305
332
weights : CoFloat64_1d | None = None ,
306
- ) -> tuple [NDArray [np .float64 ], NDArray [np .intp | np .bool ], NDArray [np .intp | np .bool ]]: ...
333
+ ) -> tuple [Array [np .float64 ], Array [np .intp | np .bool ], Array [np .intp | np .bool ]]: ...
307
334
@overload
308
335
def histogram2d (
309
336
x : CoComplex_1d ,
@@ -312,7 +339,7 @@ def histogram2d(
312
339
range : ToFloat64_2d | None = None ,
313
340
density : bool | None = None ,
314
341
weights : CoFloat64_1d | None = None ,
315
- ) -> tuple [NDArray [np .float64 ], NDArray [np .float64 | np .intp | np .bool ], NDArray [np .float64 | np .intp | np .bool ]]: ...
342
+ ) -> tuple [Array [np .float64 ], Array [np .float64 | np .intp | np .bool ], Array [np .float64 | np .intp | np .bool ]]: ...
316
343
@overload
317
344
def histogram2d (
318
345
x : CoComplex_1d ,
@@ -322,21 +349,23 @@ def histogram2d(
322
349
density : bool | None = None ,
323
350
weights : CoFloat64_1d | None = None ,
324
351
) -> tuple [
325
- NDArray [np .float64 ],
326
- NDArray [np .complex128 | np .float64 | np .intp | np .bool ],
327
- NDArray [np .complex128 | np .float64 | np .intp | np .bool ],
352
+ Array [np .float64 ],
353
+ Array [np .complex128 | np .float64 | np .intp | np .bool ],
354
+ Array [np .complex128 | np .float64 | np .intp | np .bool ],
328
355
]: ...
329
356
330
357
# NOTE: we're assuming/demanding here the `mask_func` returns
331
358
# an ndarray of shape `(n, n)`; otherwise there is the possibility
332
359
# of the output tuple having more or less than 2 elements
333
360
@overload
334
- def mask_indices (n : int , mask_func : _MaskFunc [int ], k : int = 0 ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
361
+ def mask_indices (n : int , mask_func : _MaskFunc [int ], k : int = 0 ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
335
362
@overload
336
- def mask_indices (n : int , mask_func : _MaskFunc [_T ], k : _T ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
363
+ def mask_indices (n : int , mask_func : _MaskFunc [_T ], k : _T ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
364
+
365
+ #
366
+ def tril_indices (n : int , k : int = 0 , m : int | None = None ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
367
+ def triu_indices (n : int , k : int = 0 , m : int | None = None ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
337
368
338
369
#
339
- def tril_indices (n : int , k : int = 0 , m : int | None = None ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
340
- def triu_indices (n : int , k : int = 0 , m : int | None = None ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
341
- def tril_indices_from (arr : NDArray [Any ], k : int = 0 ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
342
- def triu_indices_from (arr : NDArray [Any ], k : int = 0 ) -> tuple [NDArray [np .intp ], NDArray [np .intp ]]: ...
370
+ def tril_indices_from (arr : Array , k : int = 0 ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
371
+ def triu_indices_from (arr : Array , k : int = 0 ) -> tuple [Array [np .intp ], Array [np .intp ]]: ...
0 commit comments