_helper.pyi 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from typing import Any, Final, Literal as L, TypeVar, overload
  2. from numpy import complexfloating, floating, generic, integer
  3. from numpy._typing import (
  4. ArrayLike,
  5. NDArray,
  6. _ArrayLike,
  7. _ArrayLikeComplex_co,
  8. _ArrayLikeFloat_co,
  9. _ShapeLike,
  10. )
  11. __all__ = ["fftfreq", "fftshift", "ifftshift", "rfftfreq"]
  12. _ScalarT = TypeVar("_ScalarT", bound=generic)
  13. ###
  14. integer_types: Final[tuple[type[int], type[integer]]] = ...
  15. ###
  16. @overload
  17. def fftshift(x: _ArrayLike[_ScalarT], axes: _ShapeLike | None = None) -> NDArray[_ScalarT]: ...
  18. @overload
  19. def fftshift(x: ArrayLike, axes: _ShapeLike | None = None) -> NDArray[Any]: ...
  20. #
  21. @overload
  22. def ifftshift(x: _ArrayLike[_ScalarT], axes: _ShapeLike | None = None) -> NDArray[_ScalarT]: ...
  23. @overload
  24. def ifftshift(x: ArrayLike, axes: _ShapeLike | None = None) -> NDArray[Any]: ...
  25. #
  26. @overload
  27. def fftfreq(n: int | integer, d: _ArrayLikeFloat_co = 1.0, device: L["cpu"] | None = None) -> NDArray[floating]: ...
  28. @overload
  29. def fftfreq(n: int | integer, d: _ArrayLikeComplex_co = 1.0, device: L["cpu"] | None = None) -> NDArray[complexfloating]: ...
  30. #
  31. @overload
  32. def rfftfreq(n: int | integer, d: _ArrayLikeFloat_co = 1.0, device: L["cpu"] | None = None) -> NDArray[floating]: ...
  33. @overload
  34. def rfftfreq(n: int | integer, d: _ArrayLikeComplex_co = 1.0, device: L["cpu"] | None = None) -> NDArray[complexfloating]: ...