_helper.pyi 1.3 KB

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