Lines Matching refs:heap
70 ctx->heap = NULL; in heap_new()
83 if (ctx->heap != NULL) in heap_free()
84 free(ctx->heap); in heap_free()
95 new_heap = (void **)realloc(ctx->heap, in heap_resize()
101 ctx->heap = new_heap; in heap_resize()
110 i > 1 && ctx->higher_priority(elt, ctx->heap[p]); in float_up()
112 ctx->heap[i] = ctx->heap[p]; in float_up()
114 (ctx->index)(ctx->heap[i], i); in float_up()
116 ctx->heap[i] = elt; in float_up()
118 (ctx->index)(ctx->heap[i], i); in float_up()
130 if (j < size && ctx->higher_priority(ctx->heap[j+1], in sink_down()
131 ctx->heap[j])) in sink_down()
133 if (ctx->higher_priority(elt, ctx->heap[j])) in sink_down()
135 ctx->heap[i] = ctx->heap[j]; in sink_down()
137 (ctx->index)(ctx->heap[i], i); in sink_down()
140 ctx->heap[i] = elt; in sink_down()
142 (ctx->index)(ctx->heap[i], i); in sink_down()
176 elt = ctx->heap[ctx->heap_size--]; in heap_delete()
177 less = ctx->higher_priority(elt, ctx->heap[i]); in heap_delete()
178 ctx->heap[i] = elt; in heap_delete()
180 float_up(ctx, i, ctx->heap[i]); in heap_delete()
182 sink_down(ctx, i, ctx->heap[i]); in heap_delete()
195 float_up(ctx, i, ctx->heap[i]); in heap_increased()
207 sink_down(ctx, i, ctx->heap[i]); in heap_decreased()
219 return (ctx->heap[i]); in heap_element()
232 (action)(ctx->heap[i], uap); in heap_for_each()