Lines Matching refs:val
145 def _find_block(self, val): argument
177 if val < pair[0]:
180 elif val > pair[1]:
191 def alloc(self, val=None): argument
205 if val is None:
206 val = self.last + 1 if self.last is not None else self.min_val
207 if val is None or val > self.max_val or val < self.min_val:
208 val = self.min_val
209 i, pair = self._find_block(val)
225 val = pair[0]
234 assert pair[0] <= val <= pair[1]
235 if pair[0] == val:
237 if val == pair[1]:
240 pair[0] = val + 1
243 if val == pair[1]:
244 pair[1] = val - 1
246 newpair = [val + 1, pair[1]]
247 pair[1] = val - 1
249 self.last = val
250 return val
252 def free(self, val): argument
254 self._free_multi('free', [val])
274 val = highval
275 while len(values) and values[-1] == val - 1:
276 val = values.pop()
277 self._free_range(how, val, highval)
279 def _maybe_increase_max(self, how, val): argument
285 if val <= self.max_val:
288 self.max_val = val
290 raise ValueError('{0}: {1} is outside range limit'.format(how, val))
292 def _maybe_decrease_min(self, how, val): argument
298 if val >= self.min_val:
301 self.min_val = val
303 raise ValueError('{0}: {1} is outside range limit'.format(how, val))
305 def _free_range(self, how, val, highval): argument
314 i, pair = self._find_block(val)
316 raise ValueError('{0}: {1} already available'.format(how, val))
319 if highval > val and i < len(self.avail):
322 'available'.format(how, val, highval))
329 abuts_below = self.avail[i - 1][1] + 1 == val
353 self._maybe_decrease_min(how, val)
354 self.avail[i][0] = val
357 self._maybe_decrease_min(how, val)
359 newblock = [val, highval]