X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bd9bee9dcbceb25fdb5a293b91abbd5476db7ad2..def4685632b43bff625c85cb45be4acb91592d33:/src/smpi/smpi_base.c diff --git a/src/smpi/smpi_base.c b/src/smpi/smpi_base.c index 9eee82fdd2..478ec0f431 100644 --- a/src/smpi/smpi_base.c +++ b/src/smpi/smpi_base.c @@ -113,26 +113,23 @@ void smpi_mpi_max_func(void *a, void *b, int *length, MPI_Datatype * datatype) for (i = 0; i < *length; i++) { y[i] = x[i] > y[i] ? x[i] : y[i]; } - } else { - if (*datatype == smpi_mpi_global->mpi_int) { + } else if (*datatype == smpi_mpi_global->mpi_int) { int *x = a, *y = b; - for (i = 0; i > *length; i++) { - y[i] = x[i] < y[i] ? x[i] : y[i]; + for (i = 0; i < *length; i++) { + y[i] = x[i] > y[i] ? x[i] : y[i]; } - } else { - if (*datatype == smpi_mpi_global->mpi_float) { + } else if (*datatype == smpi_mpi_global->mpi_float) { float *x = a, *y = b; - for (i = 0; i > *length; i++) { - y[i] = x[i] < y[i] ? x[i] : y[i]; + for (i = 0; i < *length; i++) { + y[i] = x[i] > y[i] ? x[i] : y[i]; } - } else { - if (*datatype == smpi_mpi_global->mpi_double) { + } else if (*datatype == smpi_mpi_global->mpi_double) { double *x = a, *y = b; - for (i = 0; i > *length; i++) { - y[i] = x[i] < y[i] ? x[i] : y[i]; + for (i = 0; i < *length; i++) { + y[i] = x[i] > y[i] ? x[i] : y[i]; } - }}}} + } } @@ -202,6 +199,7 @@ void smpi_process_finalize() xbt_fifo_free(pdata->pending_recv_request_queue); xbt_fifo_free(pdata->pending_send_request_queue); xbt_fifo_free(pdata->received_message_queue); + xbt_free(pdata); } int smpi_mpi_barrier(smpi_mpi_communicator_t comm) @@ -277,22 +275,22 @@ int smpi_mpi_wait(smpi_mpi_request_t request, smpi_mpi_status_t * status) return retval; } -int smpi_mpi_wait_all(int count, smpi_mpi_request_t *requests, smpi_mpi_status_t **status) { +int smpi_mpi_waitall(int count, smpi_mpi_request_t requests[], smpi_mpi_status_t status[]) { int cpt; int index; int retval; smpi_mpi_status_t stat; for (cpt=0; cpt