Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Upgrade coll mpich testlist to new mpich
[simgrid.git] / teshsuite / smpi / mpich3-test / coll / redscat.c
index 9214c5d..bfa2987 100644 (file)
@@ -3,10 +3,10 @@
  *  (C) 2001 by Argonne National Laboratory.
  *      See COPYRIGHT in top-level directory.
  */
-/* 
+/*
  * Test of reduce scatter.
  *
- * Each processor contributes its rank + the index to the reduction, 
+ * Each processor contributes its rank + the index to the reduction,
  * then receives the ith sum
  *
  * Can be called with any number of processors.
 #include "mpi.h"
 #include <stdio.h>
 #include <stdlib.h>
+#include "mpicolltest.h"
 
-int main( int argc, char **argv )
+int main(int argc, char **argv)
 {
-    int      err = 0, toterr;
-    int      *sendbuf, recvbuf, *recvcounts;
-    int      size, rank, i, sumval;
+    int err = 0, toterr;
+    int *sendbuf, recvbuf, *recvcounts;
+    int size, rank, i, sumval;
     MPI_Comm comm;
 
 
-    MPI_Init( &argc, &argv );
+    MPI_Init(&argc, &argv);
     comm = MPI_COMM_WORLD;
 
-    MPI_Comm_size( comm, &size );
-    MPI_Comm_rank( comm, &rank );
-    sendbuf = (int *) malloc( size * sizeof(int) );
-    for (i=0; i<size; i++) 
-       sendbuf[i] = rank + i;
-    recvcounts = (int *)malloc( size * sizeof(int) );
-    for (i=0; i<size; i++) 
-       recvcounts[i] = 1;
+    MPI_Comm_size(comm, &size);
+    MPI_Comm_rank(comm, &rank);
+    sendbuf = (int *) malloc(size * sizeof(int));
+    for (i = 0; i < size; i++)
+        sendbuf[i] = rank + i;
+    recvcounts = (int *) malloc(size * sizeof(int));
+    for (i = 0; i < size; i++)
+        recvcounts[i] = 1;
 
-    MPI_Reduce_scatter( sendbuf, &recvbuf, recvcounts, MPI_INT, MPI_SUM, comm );
+    MTest_Reduce_scatter(sendbuf, &recvbuf, recvcounts, MPI_INT, MPI_SUM, comm);
 
-    sumval = size * rank + ((size - 1) * size)/2;
+    sumval = size * rank + ((size - 1) * size) / 2;
 /* recvbuf should be size * (rank + i) */
     if (recvbuf != sumval) {
-       err++;
-       fprintf( stdout, "Did not get expected value for reduce scatter\n" );
-       fprintf( stdout, "[%d] Got %d expected %d\n", rank, recvbuf, sumval );
+        err++;
+        fprintf(stdout, "Did not get expected value for reduce scatter\n");
+        fprintf(stdout, "[%d] Got %d expected %d\n", rank, recvbuf, sumval);
     }
 
-    MPI_Allreduce( &err, &toterr, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD );
+    MPI_Allreduce(&err, &toterr, 1, MPI_INT, MPI_SUM, MPI_COMM_WORLD);
     if (rank == 0 && toterr == 0) {
-       printf( " No Errors\n" );
+        printf(" No Errors\n");
     }
-    MPI_Finalize( );
+
+    free(sendbuf);
+    free(recvcounts);
+    MPI_Finalize();
 
     return toterr;
 }