Skip to content

Commit 4c8b650

Browse files
committed
🏷️ stub numpy.random._pickle
1 parent 1b45197 commit 4c8b650

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

src/numpy-stubs/random/_pickle.pyi

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

0 commit comments

Comments
 (0)