_pickle.pyi 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from collections.abc import Callable
  2. from typing import Final, Literal, TypeVar, TypedDict, overload, type_check_only
  3. from numpy.random._generator import Generator
  4. from numpy.random._mt19937 import MT19937
  5. from numpy.random._pcg64 import PCG64, PCG64DXSM
  6. from numpy.random._philox import Philox
  7. from numpy.random._sfc64 import SFC64
  8. from numpy.random.bit_generator import BitGenerator
  9. from numpy.random.mtrand import RandomState
  10. _T = TypeVar("_T", bound=BitGenerator)
  11. @type_check_only
  12. class _BitGenerators(TypedDict):
  13. MT19937: type[MT19937]
  14. PCG64: type[PCG64]
  15. PCG64DXSM: type[PCG64DXSM]
  16. Philox: type[Philox]
  17. SFC64: type[SFC64]
  18. BitGenerators: Final[_BitGenerators] = ...
  19. @overload
  20. def __bit_generator_ctor(bit_generator: Literal["MT19937"] = "MT19937") -> MT19937: ...
  21. @overload
  22. def __bit_generator_ctor(bit_generator: Literal["PCG64"]) -> PCG64: ...
  23. @overload
  24. def __bit_generator_ctor(bit_generator: Literal["PCG64DXSM"]) -> PCG64DXSM: ...
  25. @overload
  26. def __bit_generator_ctor(bit_generator: Literal["Philox"]) -> Philox: ...
  27. @overload
  28. def __bit_generator_ctor(bit_generator: Literal["SFC64"]) -> SFC64: ...
  29. @overload
  30. def __bit_generator_ctor(bit_generator: type[_T]) -> _T: ...
  31. def __generator_ctor(
  32. bit_generator_name: str | type[BitGenerator] | BitGenerator = "MT19937",
  33. bit_generator_ctor: Callable[[str | type[BitGenerator]], BitGenerator] = ...,
  34. ) -> Generator: ...
  35. def __randomstate_ctor(
  36. bit_generator_name: str | type[BitGenerator] | BitGenerator = "MT19937",
  37. bit_generator_ctor: Callable[[str | type[BitGenerator]], BitGenerator] = ...,
  38. ) -> RandomState: ...