Lines Matching refs:tree
47 tree_t tree; in TEST_BEGIN() local
50 tree_new(&tree); in TEST_BEGIN()
52 assert_true(tree_empty(&tree), "Tree should be empty"); in TEST_BEGIN()
53 assert_ptr_null(tree_first(&tree), "Unexpected node"); in TEST_BEGIN()
54 assert_ptr_null(tree_last(&tree), "Unexpected node"); in TEST_BEGIN()
58 assert_ptr_null(tree_search(&tree, &key), "Unexpected node"); in TEST_BEGIN()
62 assert_ptr_null(tree_nsearch(&tree, &key), "Unexpected node"); in TEST_BEGIN()
66 assert_ptr_null(tree_psearch(&tree, &key), "Unexpected node"); in TEST_BEGIN()
110 tree_iterate_cb(tree_t *tree, node_t *node, void *data) in tree_iterate_cb() argument
118 search_node = tree_search(tree, node); in tree_iterate_cb()
123 search_node = tree_nsearch(tree, node); in tree_iterate_cb()
128 search_node = tree_psearch(tree, node); in tree_iterate_cb()
138 tree_iterate(tree_t *tree) in tree_iterate() argument
143 tree_iter(tree, NULL, tree_iterate_cb, (void *)&i); in tree_iterate()
149 tree_iterate_reverse(tree_t *tree) in tree_iterate_reverse() argument
154 tree_reverse_iter(tree, NULL, tree_iterate_cb, (void *)&i); in tree_iterate_reverse()
160 node_remove(tree_t *tree, node_t *node, unsigned nnodes) in node_remove() argument
165 tree_remove(tree, node); in node_remove()
168 search_node = tree_nsearch(tree, node); in node_remove()
175 search_node = tree_psearch(tree, node); in node_remove()
183 rbtn_black_height(node_t, link, tree, black_height); in node_remove()
184 imbalances = tree_recurse(tree->rbt_root, black_height, 0, in node_remove()
185 &(tree->rbt_nil)); in node_remove()
187 assert_u_eq(tree_iterate(tree), nnodes-1, in node_remove()
189 assert_u_eq(tree_iterate_reverse(tree), nnodes-1, in node_remove()
194 remove_iterate_cb(tree_t *tree, node_t *node, void *data) in remove_iterate_cb() argument
197 node_t *ret = tree_next(tree, node); in remove_iterate_cb()
199 node_remove(tree, node, *nnodes); in remove_iterate_cb()
205 remove_reverse_iterate_cb(tree_t *tree, node_t *node, void *data) in remove_reverse_iterate_cb() argument
208 node_t *ret = tree_prev(tree, node); in remove_reverse_iterate_cb()
210 node_remove(tree, node, *nnodes); in remove_reverse_iterate_cb()
222 tree_t tree; in TEST_BEGIN() local
246 tree_new(&tree); in TEST_BEGIN()
247 tree.rbt_nil.magic = 0; in TEST_BEGIN()
255 tree_insert(&tree, &nodes[k]); in TEST_BEGIN()
257 rbtn_black_height(node_t, link, &tree, in TEST_BEGIN()
259 imbalances = tree_recurse(tree.rbt_root, in TEST_BEGIN()
260 black_height, 0, &(tree.rbt_nil)); in TEST_BEGIN()
264 assert_u_eq(tree_iterate(&tree), k+1, in TEST_BEGIN()
266 assert_u_eq(tree_iterate_reverse(&tree), k+1, in TEST_BEGIN()
269 assert_false(tree_empty(&tree), in TEST_BEGIN()
271 assert_ptr_not_null(tree_first(&tree), in TEST_BEGIN()
273 assert_ptr_not_null(tree_last(&tree), in TEST_BEGIN()
276 tree_next(&tree, &nodes[k]); in TEST_BEGIN()
277 tree_prev(&tree, &nodes[k]); in TEST_BEGIN()
284 node_remove(&tree, &nodes[k], j - k); in TEST_BEGIN()
288 node_remove(&tree, &nodes[k-1], k); in TEST_BEGIN()
296 start = tree_iter(&tree, start, in TEST_BEGIN()
309 start = tree_reverse_iter(&tree, start, in TEST_BEGIN()