
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, and bucket_t::nb_elem.
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, and bucket_t::nb_elem.
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, and _bucket_list_t::pivot.
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, 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, realloc(), and size.
Referenced by fill_buckets().


Definition at line 174 of file tm_bucket.C.
References p.
Referenced by built_pivot_tree().

| void built_pivot_tree | ( | bucket_list_t | bucket_list | ) |
Definition at line 186 of file tm_bucket.C.
References CmiLog2(), dfs(), int, 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().


Definition at line 223 of file tm_bucket.C.
References 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 assert, _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, 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, and _tree_t::parent.
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(), assert, _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(), PUP::l, next_bucket_elem(), partial_sort(), 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