/* ========================================================================== */ int main(int argc, char* argv[]) { MPI_Comm comm; char generate_list_flag; int my_rank, global_list_size = 0, list_size = 0, p; int *my_list = NULL, *neighbors_list = NULL, *merge_list = NULL; Initialize_mpi(argc, argv, &comm, &p, &my_rank); Get_args(argc, argv, &global_list_size, &generate_list_flag, &list_size, p); Initializer(&my_list, &neighbors_list, &merge_list, list_size); Scatter(generate_list_flag, my_list, neighbors_list, merge_list, global_list_size, list_size, my_rank, comm); qsort(my_list, list_size, sizeof(int), Compare); Mpi_Bitonic_sort(my_rank, p, my_list, neighbors_list, list_size, comm); Finalizer(my_list, neighbors_list, merge_list); return 0; } /* main */
~SafeHolder() { if(object_) Finalizer(object_); }