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.