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

Class Range

src/scripts/perf/fftPerformanceTesting.py:166–224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

expand_rangeFunction · 0.70

Calls

no outgoing calls

Tested by 1

expand_rangeFunction · 0.56