Files
MoFin/venv/lib/python3.12/site-packages/numpy/fft/_helper.pyi
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

146 lines
4.2 KiB
Python

from typing import Any, Final, Literal as L, overload
import numpy as np
from numpy._typing import ArrayLike, NDArray, _ArrayLike, _Shape, _ShapeLike
__all__ = ["fftfreq", "fftshift", "ifftshift", "rfftfreq"]
###
type _Device = L["cpu"]
type _IntLike = int | np.integer
type _AsFloat64 = np.float64 | np.float32 | np.float16 | np.integer | np.bool
type _AsComplex128 = np.complex128 | np.complex64
type _Inexact80 = np.longdouble | np.clongdouble
type _Array[ShapeT: _Shape, ScalarT: np.generic] = np.ndarray[ShapeT, np.dtype[ScalarT]]
type _1D = tuple[int]
###
integer_types: Final[tuple[type[int], type[np.integer]]] = ...
# keep in sync with `ifftshift` below
@overload
def fftshift[ShapeT: _Shape, DTypeT: np.dtype](
x: np.ndarray[ShapeT, DTypeT],
axes: _ShapeLike | None = None,
) -> np.ndarray[ShapeT, DTypeT]: ...
@overload
def fftshift[ScalarT: np.generic](x: _ArrayLike[ScalarT], axes: _ShapeLike | None = None) -> NDArray[ScalarT]: ...
@overload
def fftshift(x: ArrayLike, axes: _ShapeLike | None = None) -> NDArray[Any]: ...
# keep in sync with `fftshift` above
@overload
def ifftshift[ShapeT: _Shape, DTypeT: np.dtype](
x: np.ndarray[ShapeT, DTypeT],
axes: _ShapeLike | None = None,
) -> np.ndarray[ShapeT, DTypeT]: ...
@overload
def ifftshift[ScalarT: np.generic](x: _ArrayLike[ScalarT], axes: _ShapeLike | None = None) -> NDArray[ScalarT]: ...
@overload
def ifftshift(x: ArrayLike, axes: _ShapeLike | None = None) -> NDArray[Any]: ...
# keep in sync with `rfftfreq` below
@overload # 0d +f64 (default)
def fftfreq(
n: _IntLike,
d: _AsFloat64 | float = 1.0,
device: _Device | None = None,
) -> _Array[_1D, np.float64]: ...
@overload # 0d c64 | c128
def fftfreq(
n: _IntLike,
d: _AsComplex128,
device: _Device | None = None,
) -> _Array[_1D, np.complex128]: ...
@overload # 0d +complex
def fftfreq(
n: _IntLike,
d: complex,
device: _Device | None = None,
) -> _Array[_1D, np.complex128 | Any]: ...
@overload # 0d T: f80 | c160
def fftfreq[ScalarT: _Inexact80](
n: _IntLike,
d: ScalarT,
device: _Device | None = None,
) -> _Array[_1D, ScalarT]: ...
@overload # nd +f64
def fftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, _AsFloat64],
device: _Device | None = None,
) -> _Array[ShapeT, np.float64]: ...
@overload # nd c64 | c128
def fftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, _AsComplex128],
device: _Device | None = None,
) -> _Array[ShapeT, np.complex128]: ...
@overload # nd T: f80 | c160
def fftfreq[ShapeT: _Shape, LongDoubleT: _Inexact80](
n: _IntLike,
d: _Array[ShapeT, LongDoubleT],
device: _Device | None = None,
) -> _Array[ShapeT, LongDoubleT]: ...
@overload # nd +complex (fallback)
def fftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, np.number | np.bool],
device: _Device | None = None,
) -> _Array[ShapeT, Any]: ...
# keep in sync with `fftfreq` above
@overload # 0d +f64 (default)
def rfftfreq(
n: _IntLike,
d: _AsFloat64 | float = 1.0,
device: _Device | None = None,
) -> _Array[_1D, np.float64]: ...
@overload # 0d c64 | c128
def rfftfreq(
n: _IntLike,
d: _AsComplex128,
device: _Device | None = None,
) -> _Array[_1D, np.complex128]: ...
@overload # 0d +complex
def rfftfreq(
n: _IntLike,
d: complex,
device: _Device | None = None,
) -> _Array[_1D, np.complex128 | Any]: ...
@overload # 0d T: f80 | c160
def rfftfreq[LongDoubleT: _Inexact80](
n: _IntLike,
d: LongDoubleT,
device: _Device | None = None,
) -> _Array[_1D, LongDoubleT]: ...
@overload # nd +f64
def rfftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, _AsFloat64],
device: _Device | None = None,
) -> _Array[ShapeT, np.float64]: ...
@overload # nd c64 | c128
def rfftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, _AsComplex128],
device: _Device | None = None,
) -> _Array[ShapeT, np.complex128]: ...
@overload # nd T: f80 | c160
def rfftfreq[ShapeT: _Shape, LongDoubleT: _Inexact80](
n: _IntLike,
d: _Array[ShapeT, LongDoubleT],
device: _Device | None = None,
) -> _Array[ShapeT, LongDoubleT]: ...
@overload # nd +complex (fallback)
def rfftfreq[ShapeT: _Shape](
n: _IntLike,
d: _Array[ShapeT, np.number | np.bool],
device: _Device | None = None,
) -> _Array[ShapeT, Any]: ...