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];
}
- }}}}
+ }
}
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)
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<count;cpt++) {
- retval = smpi_mpi_wait_any(count,requests, &index,&stat);
+ retval = smpi_mpi_waitany(count,requests, &index,&stat);
if (retval != MPI_SUCCESS)
return retval;
- memcpy(status[index],&stat,sizeof(stat));
+ memcpy(&(status[index]),&stat,sizeof(stat));
}
return MPI_SUCCESS;
}
-int smpi_mpi_wait_any(int count, smpi_mpi_request_t *requests, int *index, smpi_mpi_status_t *status) {
+int smpi_mpi_waitany(int count, smpi_mpi_request_t *requests, int *index, smpi_mpi_status_t *status) {
int cpt;
*index = MPI_UNDEFINED;