
Go to the source code of this file.
Functions | |
| int | tab_cmp (const void *x1, const void *x2) |
| int | old_bucket_id (int i, int j, bucket_list_t bucket_list) |
| int | bucket_id (int i, int j, bucket_list_t bucket_list) |
| void | display_bucket (bucket_t *b) |
| void | check_bucket (bucket_t *b, double **tab, double inf, double sup, int N) |
| void | display_pivots (bucket_list_t bucket_list) |
| void | display_bucket_list (bucket_list_t bucket_list) |
| void | add_to_bucket (int id, int i, int j, bucket_list_t bucket_list) |
| void | dfs (int i, int inf, int sup, double *pivot, double *pivot_tree, int depth, int max_depth) |
| void | built_pivot_tree (bucket_list_t bucket_list) |
| void | fill_buckets (bucket_list_t bucket_list) |
| int | is_power_of_2 (int val) |
| void | partial_sort (bucket_list_t *bl, double **tab, int N, int nb_buckets) |
| void | next_bucket_elem (bucket_list_t bucket_list, int *i, int *j) |
| int | add_edge_3 (double **tab, tree_t *tab_node, tree_t *parent, int i, int j, int N, int *nb_groups) |
| int | try_add_edge (double **tab, tree_t *tab_node, tree_t *parent, int arity, int i, int j, int N, int *nb_groups) |
| void | free_bucket (bucket_t *bucket) |
| void | free_tab_bucket (bucket_t **bucket_tab, int N) |
| void | free_bucket_list (bucket_list_t bucket_list) |
| void | bucket_grouping (double **tab, tree_t *tab_node, tree_t *new_tab_node, int arity, int N, int M, long int k) |
Variables | |
| bucket_list_t | global_bl |
| int tab_cmp | ( | const void * | x1, | |
| const void * | x2 | |||
| ) |
Definition at line 24 of file tm_bucket.c.
References e1, and _bucket_list_t::tab.
Referenced by next_bucket_elem(), and partial_sort().
| int old_bucket_id | ( | int | i, | |
| int | j, | |||
| bucket_list_t | bucket_list | |||
| ) |
Definition at line 46 of file tm_bucket.c.
References n, _bucket_list_t::nb_buckets, p, _bucket_list_t::pivot, and _bucket_list_t::tab.
| int bucket_id | ( | int | i, | |
| int | j, | |||
| bucket_list_t | bucket_list | |||
| ) |
Definition at line 74 of file tm_bucket.c.
References _bucket_list_t::max_depth, p, _bucket_list_t::pivot_tree, and _bucket_list_t::tab.
Referenced by fill_buckets().
| void display_bucket | ( | bucket_t * | b | ) |
Definition at line 95 of file tm_bucket.c.
References bucket_t::bucket, bucket_t::bucket_len, bucket_t::nb_elem, and printf().
Referenced by add_to_bucket(), and display_bucket_list().
Definition at line 102 of file tm_bucket.c.
References bucket_t::bucket, coord::i, coord::j, bucket_t::nb_elem, and printf().
Referenced by display_bucket_list().
| void display_pivots | ( | bucket_list_t | bucket_list | ) |
Definition at line 114 of file tm_bucket.c.
References _bucket_list_t::nb_buckets, _bucket_list_t::pivot, and printf().
Referenced by bucket_grouping(), and display_bucket_list().
| void display_bucket_list | ( | bucket_list_t | bucket_list | ) |
Definition at line 123 of file tm_bucket.c.
References _bucket_list_t::bucket_tab, check_bucket(), display_bucket(), display_pivots(), _bucket_list_t::N, _bucket_list_t::nb_buckets, _bucket_list_t::pivot, printf(), and _bucket_list_t::tab.
| void add_to_bucket | ( | int | id, | |
| int | i, | |||
| int | j, | |||
| bucket_list_t | bucket_list | |||
| ) |
Definition at line 144 of file tm_bucket.c.
References bucket_t::bucket, bucket_t::bucket_len, _bucket_list_t::bucket_tab, display_bucket(), coord::i, coord::j, _bucket_list_t::N, n, _bucket_list_t::nb_buckets, bucket_t::nb_elem, printf(), realloc(), and size.
Referenced by fill_buckets().
| void built_pivot_tree | ( | bucket_list_t | bucket_list | ) |
Definition at line 186 of file tm_bucket.c.
References CmiLog2(), dfs(), malloc(), _bucket_list_t::max_depth, n, _bucket_list_t::nb_buckets, _bucket_list_t::pivot, and _bucket_list_t::pivot_tree.
Referenced by partial_sort().
| void fill_buckets | ( | bucket_list_t | bucket_list | ) |
Definition at line 208 of file tm_bucket.c.
References add_to_bucket(), bucket_id(), and _bucket_list_t::N.
Referenced by partial_sort().
| void partial_sort | ( | bucket_list_t * | bl, | |
| double ** | tab, | |||
| int | N, | |||
| int | nb_buckets | |||
| ) |
Definition at line 234 of file tm_bucket.c.
References _bucket_list_t::bucket_indice, _bucket_list_t::bucket_tab, built_pivot_tree(), calloc(), _bucket_list_t::cur_bucket, fill_buckets(), free(), is_power_of_2(), malloc(), _bucket_list_t::N, n, _bucket_list_t::nb_buckets, _bucket_list_t::pivot, printf(), qsort(), _bucket_list_t::tab, and tab_cmp().
Referenced by bucket_grouping().
| void next_bucket_elem | ( | bucket_list_t | bucket_list, | |
| int * | i, | |||
| int * | j | |||
| ) |
Definition at line 318 of file tm_bucket.c.
References bucket_t::bucket, _bucket_list_t::bucket_indice, _bucket_list_t::bucket_tab, _bucket_list_t::cur_bucket, coord::i, coord::j, _bucket_list_t::N, bucket_t::nb_elem, qsort(), bucket_t::sorted, and tab_cmp().
Referenced by bucket_grouping().
| int add_edge_3 | ( | double ** | tab, | |
| tree_t * | tab_node, | |||
| tree_t * | parent, | |||
| int | i, | |||
| int | j, | |||
| int | N, | |||
| int * | nb_groups | |||
| ) |
Definition at line 352 of file tm_bucket.c.
References _tree_t::child, _tree_t::parent, and printf().
Referenced by try_add_edge().
| int try_add_edge | ( | double ** | tab, | |
| tree_t * | tab_node, | |||
| tree_t * | parent, | |||
| int | arity, | |||
| int | i, | |||
| int | j, | |||
| int | N, | |||
| int * | nb_groups | |||
| ) |
Definition at line 398 of file tm_bucket.c.
References add_edge_3(), _tree_t::child, and _tree_t::parent.
Referenced by bucket_grouping(), and super_fast_grouping().
| void free_bucket | ( | bucket_t * | bucket | ) |
Definition at line 427 of file tm_bucket.c.
References bucket_t::bucket, and free().
Referenced by free_tab_bucket().
Definition at line 433 of file tm_bucket.c.
References free(), and free_bucket().
Referenced by free_bucket_list().
| void free_bucket_list | ( | bucket_list_t | bucket_list | ) |
Definition at line 442 of file tm_bucket.c.
References _bucket_list_t::bucket_tab, free(), free_tab_bucket(), _bucket_list_t::nb_buckets, _bucket_list_t::pivot, and _bucket_list_t::pivot_tree.
Referenced by bucket_grouping().
| void bucket_grouping | ( | double ** | tab, | |
| tree_t * | tab_node, | |||
| tree_t * | new_tab_node, | |||
| int | arity, | |||
| int | N, | |||
| int | M, | |||
| long int | k | |||
| ) |
Definition at line 452 of file tm_bucket.c.
References _bucket_list_t::bucket_indice, _bucket_list_t::cur_bucket, display_pivots(), free_bucket_list(), next_bucket_elem(), partial_sort(), printf(), try_add_edge(), update_val(), and _tree_t::val.
Referenced by group_nodes().
Definition at line 22 of file tm_bucket.c.
1.5.5