gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
43 int (*
compar)(
const void *key1,
const void *key2);
58 #define AVL_BACKWARD 1
60 #define AVL_MOST_LEFT 0
61 #define AVL_MOST_RIGHT 1
63 #define avl_is_member(tree, key) avl_lookup(tree, key, (void **) 0)
64 #define NIL(type) (type *) 0
66 #define avl_foreach_item(table, gen, dir, key_p, value_p) \
67 for(gen = avl_init_gen(table, dir); \
68 avl_gen(gen, key_p, value_p) || (avl_free_gen(gen),0);)
void avl_walk_forward(avl_node *node, void(*func)(void *key, void *value))
int avl_gen(avl_generator *gen, void **key_p, void **value_p)
int avl_insert(avl_tree *tree, void *key, void *value)
int avl_check_tree(avl_tree *tree)
void avl_free_gen(avl_generator *gen)
avl_tree * avl_init_table(int(*compar)(const void *key1, const void *key2))
int avl_delete(avl_tree *tree, void **key_p, void **value_p)
int(* compar)(const void *key1, const void *key2)
avl_generator * avl_init_gen(avl_tree *tree, int dir)
void avl_foreach(avl_tree *tree, void(*func)(void *key, void *value), int direction)
int avl_lookup(avl_tree *tree, void *key, void **value_p)
int avl_extremum(avl_tree *tree, int side, void **value_p)
int avl_count(avl_tree *tree)
void avl_free_table(avl_tree *tree, void(*key_free)(void *key), void(*value_free)(void *value))
void avl_walk_backward(avl_node *node, void(*func)(void *key, void *value))
int avl_numcmp(const void *x, const void *y)
static void direction(Vertex *v1, Vertex *v2, double d[3])