Lines Matching refs:id
42 pheap_node_id_t ph_merge_two_pass(pheap_t *heap, pheap_node_id_t id) { in ph_merge_two_pass() argument
43 if (!id || !ph_get_node(heap, id)->sibling) { in ph_merge_two_pass()
44 return id; in ph_merge_two_pass()
47 a = id; in ph_merge_two_pass()
48 b = ph_get_node(heap, id)->sibling; in ph_merge_two_pass()
82 bool ph_remove_and_free_node(pheap_t *heap, pheap_node_id_t id) { in ph_remove_and_free_node() argument
84 if (!id) return false; in ph_remove_and_free_node()
85 if (id == heap->root_id) { in ph_remove_and_free_node()
90 pheap_node_t *node = ph_get_node(heap, id); in ph_remove_and_free_node()
93 if (parent->child == id) { in ph_remove_and_free_node()
100 if (prev_sibling->sibling == id) { in ph_remove_and_free_node()
112 pheap_node_id_t new_sub_tree = ph_remove_any_head(heap, id, true); in ph_remove_and_free_node()
118 static uint ph_dump_node(pheap_t *heap, pheap_node_id_t id, void (*dump_key)(pheap_node_id_t, void … in ph_dump_node() argument
120 if (id) { in ph_dump_node()
125 pheap_node_t *node = ph_get_node(heap, id); in ph_dump_node()
126 printf("%d (c=%d s=%d p=%d) ", id, node->child, node->sibling, node->parent); in ph_dump_node()
127 if (dump_key) dump_key(id, user_data); in ph_dump_node()