1- from collections .abc import Sequence , Iterator , Callable , Iterable
1+ from collections .abc import Sequence , Callable , Iterable
22from typing import (
33 Concatenate ,
44 Literal as L ,
@@ -15,8 +15,9 @@ from typing import (
1515)
1616from typing_extensions import deprecated
1717
18+ import numpy as np
1819from numpy import (
19- vectorize as vectorize ,
20+ vectorize ,
2021 generic ,
2122 integer ,
2223 floating ,
@@ -35,19 +36,22 @@ from numpy._typing import (
3536 NDArray ,
3637 ArrayLike ,
3738 DTypeLike ,
38- _ShapeLike ,
39- _ScalarLike_co ,
40- _DTypeLike ,
4139 _ArrayLike ,
40+ _DTypeLike ,
41+ _ShapeLike ,
4242 _ArrayLikeBool_co ,
4343 _ArrayLikeInt_co ,
4444 _ArrayLikeFloat_co ,
4545 _ArrayLikeComplex_co ,
46+ _ArrayLikeNumber_co ,
4647 _ArrayLikeTD64_co ,
4748 _ArrayLikeDT64_co ,
4849 _ArrayLikeObject_co ,
4950 _FloatLike_co ,
5051 _ComplexLike_co ,
52+ _NumberLike_co ,
53+ _ScalarLike_co ,
54+ _NestedSequence
5155)
5256
5357__all__ = [
@@ -303,24 +307,87 @@ def diff(
303307 append : ArrayLike = ...,
304308) -> NDArray [Any ]: ...
305309
306- @overload
310+ @overload # float scalar
307311def 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 ],
309322 xp : _ArrayLikeFloat_co ,
310323 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 ,
314327) -> NDArray [float64 ]: ...
315- @overload
328+ @overload # float scalar or array
316329def interp (
317330 x : _ArrayLikeFloat_co ,
318331 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 ,
323363) -> 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 : ...
324391
325392@overload
326393def angle (z : _ComplexLike_co , deg : bool = ...) -> floating [Any ]: ...
0 commit comments