The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
precedence.RndBiasedBooleanValue Class Reference
Inheritance diagram for precedence.RndBiasedBooleanValue:
Collaboration diagram for precedence.RndBiasedBooleanValue:

Public Member Functions

 __init__ (self, pattern, seed=None)
 
 get (self)
 
 get_pattern (self)
 

Public Attributes

list pattern
 
 generator = self._create_generator(self.pattern)
 

Protected Member Functions

 _create_generator (self, pattern)
 

Detailed Description

Provides randomly ordered set of boolean values with requested proportion of True and False.

Definition at line 121 of file precedence.py.

Constructor & Destructor Documentation

◆ __init__()

precedence.RndBiasedBooleanValue.__init__ ( self,
pattern,
seed = None )
Keyword arguments:
pattern -- either a dictionary describing proportion of True and False (e.g., {True:5,False:15}), or
           a list/tuple containing a pattern to be used as-is (e.g., [False,True,True,False])
seed -- an int, long or other hashable object to initialize random number generator (passed to random.shuffle as-is)

Definition at line 124 of file precedence.py.

124 def __init__(self, pattern, seed=None):
125 """
126 Keyword arguments:
127 pattern -- either a dictionary describing proportion of True and False (e.g., {True:5,False:15}), or
128 a list/tuple containing a pattern to be used as-is (e.g., [False,True,True,False])
129 seed -- an int, long or other hashable object to initialize random number generator (passed to random.shuffle as-is)
130 """
131
132 if isinstance(pattern, dict):
133 proportion = pattern
134
135 length = proportion[True] + proportion[False]
136 if length <= 0:
137 raise "ERROR: Wrong set length requested: %i " % length
138
139 self.pattern = [False for i in range(proportion[False])] + [
140 True for i in range(proportion[True])
141 ]
142
143 if seed is not None:
144 random.seed(seed)
145
146 random.shuffle(self.pattern)
147
148 elif isinstance(pattern, (list, tuple)):
149 self.pattern = pattern
150 else:
151 raise "ERROR: unknown pattern type"
152
153 self.generator = self._create_generator(self.pattern)
154

Member Function Documentation

◆ _create_generator()

precedence.RndBiasedBooleanValue._create_generator ( self,
pattern )
protected

Definition at line 155 of file precedence.py.

155 def _create_generator(self, pattern):
156 for b in pattern:
157 yield b
158

◆ get()

precedence.RndBiasedBooleanValue.get ( self)

Definition at line 159 of file precedence.py.

159 def get(self):
160 return next(self.generator)
161

◆ get_pattern()

precedence.RndBiasedBooleanValue.get_pattern ( self)

Definition at line 162 of file precedence.py.

162 def get_pattern(self):
163 return self.pattern
164
165

Member Data Documentation

◆ generator

precedence.RndBiasedBooleanValue.generator = self._create_generator(self.pattern)

Definition at line 153 of file precedence.py.

◆ pattern

precedence.RndBiasedBooleanValue.pattern
Initial value:
= [False for i in range(proportion[False])] + [
True for i in range(proportion[True])
]

Definition at line 139 of file precedence.py.


The documentation for this class was generated from the following file: