Lines Matching refs:node

17 #define HEIGHT_OF(node) ((node) ? (node)->height : 0)  argument
18 #define IS_RCHILD(node) (!((node) - ((node)->parent->avl_right))) argument
19 #define IS_LCHILD(node) (!((node) - ((node)->parent->avl_left))) argument
20 #define NODE_PLACE(node) \ argument
21 IS_LCHILD(node) ? &(node)->parent->avl_left : &(node)->parent->avl_right
120 void util_avl_rebalance(struct util_avl_struct *node, in util_avl_rebalance() argument
123 if (!node) in util_avl_rebalance()
126 struct util_avl_struct *axis = node; in util_avl_rebalance()
176 void util_avl_remove(struct util_avl_struct *node, struct util_avl_root *root) in util_avl_remove() argument
183 if (node->parent != NULL) in util_avl_remove()
185 nodeplace = NODE_PLACE(node); in util_avl_remove()
193 if (node->avl_right == NULL) in util_avl_remove()
195 *nodeplace = node->avl_left; in util_avl_remove()
196 if (node->avl_left != NULL) in util_avl_remove()
197 node->avl_left->parent = node->parent; in util_avl_remove()
198 node = node->parent; in util_avl_remove()
202 struct util_avl_struct *rchild = node->avl_right; in util_avl_remove()
206 rchild->avl_left = node->avl_left; in util_avl_remove()
209 rchild->parent = node->parent; in util_avl_remove()
211 node = rchild->parent; in util_avl_remove()
224 successor->avl_left = node->avl_left; in util_avl_remove()
225 successor->avl_right = node->avl_right; in util_avl_remove()
233 successor->parent = node->parent; in util_avl_remove()
235 node = successor; in util_avl_remove()
240 util_avl_rebalance(node, root); in util_avl_remove()