MCPcopy Create free account
hub / github.com/clMathLibraries/clBLAS / Range

Class Range

src/scripts/perf/blasPerformanceTesting.py:174–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

172 return args
173
174class Range:
175 def __init__(self, ranges, defaultStep='+1'):
176 # we might be passed in a single value or a list of strings
177 # if we receive a single value, we want to feed it right back
178 if type(ranges) != list:
179 self.expanded = ranges
180 elif ranges[0] == None:
181 self.expanded = [None]
182 else:
183 self.expanded = []
184 for thisRange in ranges:
185 thisRange = str(thisRange)
186 if re.search('^\+\d+$', thisRange):
187 self.expanded = self.expanded + [thisRange]
188 elif thisRange == 'max':
189 self.expanded = self.expanded + ['max']
190 else:
191 #elif thisRange != 'max':
192 if thisRange.count(':'):
193 self._stepAmount = thisRange.split(':')[1]
194 else:
195 self._stepAmount = defaultStep
196 thisRange = thisRange.split(':')[0]
197
198 if self._stepAmount.count('x'):
199 self._stepper = '_mult'
200 else:
201 self._stepper = '_add'
202 self._stepAmount = self._stepAmount.lstrip('+x')
203 self._stepAmount = int(self._stepAmount)
204
205 if thisRange.count('-'):
206 self.begin = int(thisRange.split('-')[0])
207 self.end = int(thisRange.split('-')[1])
208 else:
209 self.begin = int(thisRange.split('-')[0])
210 self.end = int(thisRange.split('-')[0])
211 self.current = self.begin
212
213 if self.begin == 0 and self._stepper == '_mult':
214 self.expanded = self.expanded + [0]
215 else:
216 while self.current <= self.end:
217 self.expanded = self.expanded + [self.current]
218 self._step()
219
220 # now we want to uniquify and sort the expanded range
221 self.expanded = list(set(self.expanded))
222 self.expanded.sort()
223
224 # advance current value to next
225 def _step(self):
226 getattr(self, self._stepper)()
227
228 def _mult(self):
229 self.current = self.current * self._stepAmount
230
231 def _add(self):

Callers 1

expand_rangeFunction · 0.85

Calls

no outgoing calls

Tested by 1

expand_rangeFunction · 0.68