Format: application/octet-stream
1 import _random
2 from typing import AbstractSet, Any, Callable, Iterator, List, MutableSequence, Protocol, Sequence, TypeVar, Union, overload
3
4 _T = TypeVar("_T")
5 _T_co = TypeVar("_T_co", covariant=True)
6
7 class _Sampleable(Protocol[_T_co]):
8 def __iter__(self) -> Iterator[_T_co]: ...
9 def __len__(self) -> int: ...
10
11 class Random(_random.Random):
12 def __init__(self, x: object = ...) -> None: ...
13 def seed(self, x: object = ...) -> None: ...
14 def getstate(self) -> _random._State: ...
15 def setstate(self, state: _random._State) -> None: ...
16 def jumpahead(self, n: int) -> None: ...
17 def getrandbits(self, k: int) -> int: ...
18 @overload
19 def randrange(self, stop: int) -> int: ...
20 @overload
21 def randrange(self, start: int, stop: int, step: int = ...) -> int: ...
22 def randint(self, a: int, b: int) -> int: ...
23 def choice(self, seq: Sequence[_T]) -> _T: ...
24 def shuffle(self, x: MutableSequence[Any], random: Callable[[], None] = ...) -> None: ...
25 def sample(self, population: _Sampleable[_T], k: int) -> List[_T]: ...
26 def random(self) -> float: ...
27 def uniform(self, a: float, b: float) -> float: ...
28 def triangular(self, low: float = ..., high: float = ..., mode: float = ...) -> float: ...
29 def betavariate(self, alpha: float, beta: float) -> float: ...
30 def expovariate(self, lambd: float) -> float: ...
31 def gammavariate(self, alpha: float, beta: float) -> float: ...
32 def gauss(self, mu: float, sigma: float) -> float: ...
33 def lognormvariate(self, mu: float, sigma: float) -> float: ...
34 def normalvariate(self, mu: float, sigma: float) -> float: ...
35 def vonmisesvariate(self, mu: float, kappa: float) -> float: ...
36 def paretovariate(self, alpha: float) -> float: ...
37 def weibullvariate(self, alpha: float, beta: float) -> float: ...
38
39 # SystemRandom is not implemented for all OS's; good on Windows & Linux
40 class SystemRandom(Random): ...
41
42 # ----- random function stubs -----
43 def seed(x: object = ...) -> None: ...
44 def getstate() -> object: ...
45 def setstate(state: object) -> None: ...
46 def jumpahead(n: int) -> None: ...
47 def getrandbits(k: int) -> int: ...
48 @overload
49 def randrange(stop: int) -> int: ...
50 @overload
51 def randrange(start: int, stop: int, step: int = ...) -> int: ...
52 def randint(a: int, b: int) -> int: ...
53 def choice(seq: Sequence[_T]) -> _T: ...
54 def shuffle(x: MutableSequence[Any], random: Callable[[], float] = ...) -> None: ...
55 def sample(population: _Sampleable[_T], k: int) -> List[_T]: ...
56 def random() -> float: ...
57 def uniform(a: float, b: float) -> float: ...
58 def triangular(low: float = ..., high: float = ..., mode: float = ...) -> float: ...
59 def betavariate(alpha: float, beta: float) -> float: ...
60 def expovariate(lambd: float) -> float: ...
61 def gammavariate(alpha: float, beta: float) -> float: ...
62 def gauss(mu: float, sigma: float) -> float: ...
63 def lognormvariate(mu: float, sigma: float) -> float: ...
64 def normalvariate(mu: float, sigma: float) -> float: ...
65 def vonmisesvariate(mu: float, kappa: float) -> float: ...
66 def paretovariate(alpha: float) -> float: ...
67 def weibullvariate(alpha: float, beta: float) -> float: ...
68