Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

from .mtrand import RandomState 

from ._philox import Philox 

from ._pcg64 import PCG64 

from ._sfc64 import SFC64 

 

from ._generator import Generator 

from ._mt19937 import MT19937 

 

BitGenerators = {'MT19937': MT19937, 

'PCG64': PCG64, 

'Philox': Philox, 

'SFC64': SFC64, 

} 

 

 

def __generator_ctor(bit_generator_name='MT19937'): 

""" 

Pickling helper function that returns a Generator object 

 

Parameters 

---------- 

bit_generator_name: str 

String containing the core BitGenerator 

 

Returns 

------- 

rg: Generator 

Generator using the named core BitGenerator 

""" 

if bit_generator_name in BitGenerators: 

bit_generator = BitGenerators[bit_generator_name] 

else: 

raise ValueError(str(bit_generator_name) + ' is not a known ' 

'BitGenerator module.') 

 

return Generator(bit_generator()) 

 

 

def __bit_generator_ctor(bit_generator_name='MT19937'): 

""" 

Pickling helper function that returns a bit generator object 

 

Parameters 

---------- 

bit_generator_name: str 

String containing the name of the BitGenerator 

 

Returns 

------- 

bit_generator: BitGenerator 

BitGenerator instance 

""" 

if bit_generator_name in BitGenerators: 

bit_generator = BitGenerators[bit_generator_name] 

else: 

raise ValueError(str(bit_generator_name) + ' is not a known ' 

'BitGenerator module.') 

 

return bit_generator() 

 

 

def __randomstate_ctor(bit_generator_name='MT19937'): 

""" 

Pickling helper function that returns a legacy RandomState-like object 

 

Parameters 

---------- 

bit_generator_name: str 

String containing the core BitGenerator 

 

Returns 

------- 

rs: RandomState 

Legacy RandomState using the named core BitGenerator 

""" 

if bit_generator_name in BitGenerators: 

bit_generator = BitGenerators[bit_generator_name] 

else: 

raise ValueError(str(bit_generator_name) + ' is not a known ' 

'BitGenerator module.') 

 

return RandomState(bit_generator())