Lines Matching refs:node

66   fibnode_t node;  in fibnode_new()  local
68 node = (fibnode_t) xcalloc (1, sizeof *node); in fibnode_new()
69 node->left = node; in fibnode_new()
70 node->right = node; in fibnode_new()
72 return node; in fibnode_new()
100 fibnode_t node; in fibheap_insert() local
103 node = fibnode_new (); in fibheap_insert()
106 node->data = data; in fibheap_insert()
107 node->key = key; in fibheap_insert()
110 fibheap_ins_root (heap, node); in fibheap_insert()
114 if (heap->min == NULL || node->key < heap->min->key) in fibheap_insert()
115 heap->min = node; in fibheap_insert()
119 return node; in fibheap_insert()
198 fibheap_replace_key_data (fibheap_t heap, fibnode_t node, in fibheap_replace_key_data() argument
208 if (fibheap_comp_data (heap, key, data, node) > 0) in fibheap_replace_key_data()
211 odata = node->data; in fibheap_replace_key_data()
212 okey = node->key; in fibheap_replace_key_data()
213 node->data = data; in fibheap_replace_key_data()
214 node->key = key; in fibheap_replace_key_data()
215 y = node->parent; in fibheap_replace_key_data()
223 if (y != NULL && fibheap_compare (heap, node, y) <= 0) in fibheap_replace_key_data()
225 fibheap_cut (heap, node, y); in fibheap_replace_key_data()
229 if (fibheap_compare (heap, node, heap->min) <= 0) in fibheap_replace_key_data()
230 heap->min = node; in fibheap_replace_key_data()
237 fibheap_replace_data (fibheap_t heap, fibnode_t node, void *data) in fibheap_replace_data() argument
239 return fibheap_replace_key_data (heap, node, node->key, data); in fibheap_replace_data()
244 fibheap_replace_key (fibheap_t heap, fibnode_t node, fibheapkey_t key) in fibheap_replace_key() argument
246 int okey = node->key; in fibheap_replace_key()
247 fibheap_replace_key_data (heap, node, key, node->data); in fibheap_replace_key()
253 fibheap_delete_node (fibheap_t heap, fibnode_t node) in fibheap_delete_node() argument
255 void *ret = node->data; in fibheap_delete_node()
258 fibheap_replace_key (heap, node, FIBHEAPKEY_MIN); in fibheap_delete_node()
319 fibheap_ins_root (fibheap_t heap, fibnode_t node) in fibheap_ins_root() argument
325 heap->root = node; in fibheap_ins_root()
326 node->left = node; in fibheap_ins_root()
327 node->right = node; in fibheap_ins_root()
333 fibnode_insert_after (heap->root, node); in fibheap_ins_root()
338 fibheap_rem_root (fibheap_t heap, fibnode_t node) in fibheap_rem_root() argument
340 if (node->left == node) in fibheap_rem_root()
343 heap->root = fibnode_remove (node); in fibheap_rem_root()
396 fibnode_t node, fibnode_t parent) in fibheap_link() argument
399 parent->child = node; in fibheap_link()
401 fibnode_insert_before (parent->child, node); in fibheap_link()
402 node->parent = parent; in fibheap_link()
404 node->mark = 0; in fibheap_link()
409 fibheap_cut (fibheap_t heap, fibnode_t node, fibnode_t parent) in fibheap_cut() argument
411 fibnode_remove (node); in fibheap_cut()
413 fibheap_ins_root (heap, node); in fibheap_cut()
414 node->parent = NULL; in fibheap_cut()
415 node->mark = 0; in fibheap_cut()
458 fibnode_remove (fibnode_t node) in fibnode_remove() argument
462 if (node == node->left) in fibnode_remove()
465 ret = node->left; in fibnode_remove()
467 if (node->parent != NULL && node->parent->child == node) in fibnode_remove()
468 node->parent->child = ret; in fibnode_remove()
470 node->right->left = node->left; in fibnode_remove()
471 node->left->right = node->right; in fibnode_remove()
473 node->parent = NULL; in fibnode_remove()
474 node->left = node; in fibnode_remove()
475 node->right = node; in fibnode_remove()