PPL Logo

ck-ldb/tm_bucket.C File Reference

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


Function Documentation

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void check_bucket ( bucket_t b,
double **  tab,
double  inf,
double  sup,
int  N 
)

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

void display_bucket_list ( bucket_list_t  bucket_list  ) 

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void dfs ( int  i,
int  inf,
int  sup,
double *  pivot,
double *  pivot_tree,
int  depth,
int  max_depth 
)

Definition at line 174 of file tm_bucket.C.

References p.

Referenced by built_pivot_tree().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

int is_power_of_2 ( int  val  ) 

Definition at line 223 of file tm_bucket.C.

References n.

Referenced by partial_sort().

Here is the caller graph for this function:

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 
)

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

void free_tab_bucket ( bucket_t **  bucket_tab,
int  N 
)

Definition at line 433 of file tm_bucket.C.

References free(), and free_bucket().

Referenced by free_bucket_list().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

Definition at line 22 of file tm_bucket.C.


Generated on Mon Sep 21 07:59:19 2020 for Charm++ by  doxygen 1.5.5