00001 #ifndef GROUP_BASED_PARTITION_H
00002 #define GROUP_BASED_PARTITION_H
00003
00004 #include <stdio.h>
00005 #include "mm_col_distr.h"
00006 #include "partition.h"
00007
00008 #ifdef __cplusplus
00009 extern "C" {
00010 #endif
00011
00012
00013 int smallest_element_index(int* work_array, mm_col_i_group *col_group, int max_j, int current_y, int* smallest_index, int* smallest_value);
00014
00015
00016 int measure(mm_col_i_group *col_group,int total_proc, int max_j);
00017
00018
00019 int uniq_group(int* group_id_local,int max_j);
00020
00021
00022 void push_height (int* array,int *top_h,int value);
00023
00024
00025 void push_group_id (int* array,int *top_g,int value);
00026
00027
00028 void init(int *top);
00029
00030
00031
00032 #ifdef __cplusplus
00033 }
00034 #endif
00035
00036 #endif