1 #ifndef __BUCKET_H__
   2 #define __BUCKET_H__
   3 
   4 typedef struct{
   5   int i;
   6   int j;
   7 }coord;
   8 
   9 typedef struct{
  10   coord * bucket; 
  11   int bucket_len; 
  12   int nb_elem;    
  13   int sorted;
  14 }bucket_t;
  15 
  16 typedef struct{
  17   bucket_t **bucket_tab;
  18   int nb_buckets;
  19   double **tab;
  20   int N;
  21   
  22   int cur_bucket;
  23   int bucket_indice;
  24   double *pivot;
  25   double *pivot_tree;
  26   int max_depth;
  27 }_bucket_list_t;
  28 
  29 typedef _bucket_list_t *bucket_list_t;
  30 
  31 double bucket_grouping(tm_affinity_mat_t *aff_mat,tm_tree_t *tab_node, tm_tree_t *new_tab_node, 
  32                        int arity,int M);
  33 int try_add_edge(tm_tree_t *tab_node, tm_tree_t *parent,int arity,int i,int j,int *nb_groups);
  34 #endif
  35