Lines Matching refs:heap

52         heap = []
54 self.check_invariant(heap)
58 self.module.heappush(heap, item)
59 self.check_invariant(heap)
61 while heap:
62 item = self.module.heappop(heap)
63 self.check_invariant(heap)
78 def check_invariant(self, heap):
79 # Check the heap invariant.
80 for pos, item in enumerate(heap):
83 self.assertTrue(heap[parentpos] <= item)
87 heap = [random.random() for dummy in range(size)]
88 self.module.heapify(heap)
89 self.check_invariant(heap)
95 heap = []
97 self.module.heappush(heap, item)
98 if len(heap) > 10:
99 self.module.heappop(heap)
100 heap.sort()
101 self.assertEqual(heap, sorted(data)[-10:])
103 def heapiter(self, heap):
104 # An iterator returning a heap's elements, smallest-first.
107 yield self.module.heappop(heap)
114 # heap instead of a min heap, it could go faster still via
118 heap = data[:10]
119 self.module.heapify(heap)
121 if item > heap[0]: # this gets rarer the longer we run
122 self.module.heapreplace(heap, item)
123 self.assertEqual(list(self.heapiter(heap)), sorted(data)[-10:])
131 heap = data[:10]
132 self.module.heapify(heap)
134 self.module.heappushpop(heap, item)
135 self.assertEqual(list(self.heapiter(heap)), sorted(data)[-10:])
170 heap = data[:]
171 self.module.heapify(heap)
173 heap = []
175 self.module.heappush(heap, item)
176 heap_sorted = [self.module.heappop(heap) for i in range(size)]
369 def __init__(self, value, heap):
371 self.heap = heap
374 self.heap[:] = []
420 # Issue #17278: the heap may change size while it's being walked.
423 heap = []
424 heap.extend(SideEffectLT(i, heap) for i in range(200))
427 self.module.heappush(heap, SideEffectLT(5, heap))
430 heap = []
431 heap.extend(SideEffectLT(i, heap) for i in range(200))
434 self.module.heappop(heap)
438 # when comparing objects as they can alter the heap
441 heap.clear()
444 heap = []
445 self.module.heappush(heap, EvilClass(0))
446 self.assertRaises(IndexError, self.module.heappushpop, heap, 1)