File size: 1,158 Bytes
dc2106c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import sys
from typing import Any, Union

from numpy import dtype, ndarray, uint64
from numpy.random.bit_generator import BitGenerator, SeedSequence
from numpy.typing import _ArrayLikeInt_co

if sys.version_info >= (3, 8):
    from typing import TypedDict
else:
    from typing_extensions import TypedDict

class _PhiloxInternal(TypedDict):
    counter: ndarray[Any, dtype[uint64]]
    key: ndarray[Any, dtype[uint64]]

class _PhiloxState(TypedDict):
    bit_generator: str
    state: _PhiloxInternal
    buffer: ndarray[Any, dtype[uint64]]
    buffer_pos: int
    has_uint32: int
    uinteger: int

class Philox(BitGenerator):
    def __init__(
        self,
        seed: Union[None, _ArrayLikeInt_co, SeedSequence] = ...,
        counter: Union[None, _ArrayLikeInt_co] = ...,
        key: Union[None, _ArrayLikeInt_co] = ...,
    ) -> None: ...
    @property
    def state(
        self,
    ) -> _PhiloxState: ...
    @state.setter
    def state(
        self,
        value: _PhiloxState,
    ) -> None: ...
    def jumped(self, jumps: int = ...) -> Philox: ...
    def advance(self, delta: int) -> Philox: ...