1
- from collections .abc import Sequence , Iterator , Callable , Iterable
1
+ from collections .abc import Sequence , Callable , Iterable
2
2
from typing import (
3
3
Concatenate ,
4
4
Literal as L ,
@@ -15,8 +15,9 @@ from typing import (
15
15
)
16
16
from typing_extensions import deprecated
17
17
18
+ import numpy as np
18
19
from numpy import (
19
- vectorize as vectorize ,
20
+ vectorize ,
20
21
generic ,
21
22
integer ,
22
23
floating ,
@@ -35,19 +36,22 @@ from numpy._typing import (
35
36
NDArray ,
36
37
ArrayLike ,
37
38
DTypeLike ,
38
- _ShapeLike ,
39
- _ScalarLike_co ,
40
- _DTypeLike ,
41
39
_ArrayLike ,
40
+ _DTypeLike ,
41
+ _ShapeLike ,
42
42
_ArrayLikeBool_co ,
43
43
_ArrayLikeInt_co ,
44
44
_ArrayLikeFloat_co ,
45
45
_ArrayLikeComplex_co ,
46
+ _ArrayLikeNumber_co ,
46
47
_ArrayLikeTD64_co ,
47
48
_ArrayLikeDT64_co ,
48
49
_ArrayLikeObject_co ,
49
50
_FloatLike_co ,
50
51
_ComplexLike_co ,
52
+ _NumberLike_co ,
53
+ _ScalarLike_co ,
54
+ _NestedSequence
51
55
)
52
56
53
57
__all__ = [
@@ -303,24 +307,87 @@ def diff(
303
307
append : ArrayLike = ...,
304
308
) -> NDArray [Any ]: ...
305
309
306
- @overload
310
+ @overload # float scalar
307
311
def interp (
308
- x : _ArrayLikeFloat_co ,
312
+ x : _FloatLike_co ,
313
+ xp : _ArrayLikeFloat_co ,
314
+ fp : _ArrayLikeFloat_co ,
315
+ left : _FloatLike_co | None = None ,
316
+ right : _FloatLike_co | None = None ,
317
+ period : _FloatLike_co | None = None ,
318
+ ) -> float64 : ...
319
+ @overload # float array
320
+ def interp (
321
+ x : NDArray [floating | integer | np .bool ] | _NestedSequence [_FloatLike_co ],
309
322
xp : _ArrayLikeFloat_co ,
310
323
fp : _ArrayLikeFloat_co ,
311
- left : None | _FloatLike_co = ... ,
312
- right : None | _FloatLike_co = ... ,
313
- period : None | _FloatLike_co = ... ,
324
+ left : _FloatLike_co | None = None ,
325
+ right : _FloatLike_co | None = None ,
326
+ period : _FloatLike_co | None = None ,
314
327
) -> NDArray [float64 ]: ...
315
- @overload
328
+ @overload # float scalar or array
316
329
def interp (
317
330
x : _ArrayLikeFloat_co ,
318
331
xp : _ArrayLikeFloat_co ,
319
- fp : _ArrayLikeComplex_co ,
320
- left : None | _ComplexLike_co = ...,
321
- right : None | _ComplexLike_co = ...,
322
- period : None | _FloatLike_co = ...,
332
+ fp : _ArrayLikeFloat_co ,
333
+ left : _FloatLike_co | None = None ,
334
+ right : _FloatLike_co | None = None ,
335
+ period : _FloatLike_co | None = None ,
336
+ ) -> NDArray [float64 ] | float64 : ...
337
+ @overload # complex scalar
338
+ def interp (
339
+ x : _FloatLike_co ,
340
+ xp : _ArrayLikeFloat_co ,
341
+ fp : _ArrayLike [complexfloating ],
342
+ left : _NumberLike_co | None = None ,
343
+ right : _NumberLike_co | None = None ,
344
+ period : _FloatLike_co | None = None ,
345
+ ) -> complex128 : ...
346
+ @overload # complex or float scalar
347
+ def interp (
348
+ x : _FloatLike_co ,
349
+ xp : _ArrayLikeFloat_co ,
350
+ fp : Sequence [complex | complexfloating ],
351
+ left : _NumberLike_co | None = None ,
352
+ right : _NumberLike_co | None = None ,
353
+ period : _FloatLike_co | None = None ,
354
+ ) -> complex128 | float64 : ...
355
+ @overload # complex array
356
+ def interp (
357
+ x : NDArray [floating | integer | np .bool ] | _NestedSequence [_FloatLike_co ],
358
+ xp : _ArrayLikeFloat_co ,
359
+ fp : _ArrayLike [complexfloating ],
360
+ left : _NumberLike_co | None = None ,
361
+ right : _NumberLike_co | None = None ,
362
+ period : _FloatLike_co | None = None ,
323
363
) -> NDArray [complex128 ]: ...
364
+ @overload # complex or float array
365
+ def interp (
366
+ x : NDArray [floating | integer | np .bool ] | _NestedSequence [_FloatLike_co ],
367
+ xp : _ArrayLikeFloat_co ,
368
+ fp : Sequence [complex | complexfloating ],
369
+ left : _NumberLike_co | None = None ,
370
+ right : _NumberLike_co | None = None ,
371
+ period : _FloatLike_co | None = None ,
372
+ ) -> NDArray [complex128 | float64 ]: ...
373
+ @overload # complex scalar or array
374
+ def interp (
375
+ x : _ArrayLikeFloat_co ,
376
+ xp : _ArrayLikeFloat_co ,
377
+ fp : _ArrayLike [complexfloating ],
378
+ left : _NumberLike_co | None = None ,
379
+ right : _NumberLike_co | None = None ,
380
+ period : _FloatLike_co | None = None ,
381
+ ) -> NDArray [complex128 ] | complex128 : ...
382
+ @overload # complex or float scalar or array
383
+ def interp (
384
+ x : _ArrayLikeFloat_co ,
385
+ xp : _ArrayLikeFloat_co ,
386
+ fp : _ArrayLikeNumber_co ,
387
+ left : _NumberLike_co | None = None ,
388
+ right : _NumberLike_co | None = None ,
389
+ period : _FloatLike_co | None = None ,
390
+ ) -> NDArray [complex128 | float64 ] | complex128 | float64 : ...
324
391
325
392
@overload
326
393
def angle (z : _ComplexLike_co , deg : bool = ...) -> floating [Any ]: ...
0 commit comments