/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-/*
+/*
* Test of reduce scatter.
* Each processor contributes its rank + the index to the reduction, then receives the ith sum
* Can be called with any number of processors.
int main( int argc, char **argv )
{
- int err = 0, toterr;
- int *sendbuf, *recvbuf, *recvcounts;
- int size, rank, i, sumval;
+ int err = 0;
+ int toterr;
+ int size;
+ int rank;
+ int i;
MPI_Comm comm;
MPI_Init( &argc, &argv );
MPI_Comm_size( comm, &size );
MPI_Comm_rank( comm, &rank );
- sendbuf = (int *) malloc( size * sizeof(int) );
- for (i=0; i<size; i++)
+ int* sendbuf = (int *) malloc( size * sizeof(int) );
+ for (i=0; i<size; i++)
sendbuf[i] = rank + i;
- recvcounts = (int *)malloc( size * sizeof(int) );
- recvbuf = (int *)malloc( size * sizeof(int) );
- for (i=0; i<size; i++)
+ int* recvcounts = (int*) malloc (size * sizeof(int));
+ int* recvbuf = (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 );
- sumval = size * rank + ((size - 1) * size)/2;
+ int sumval = size * rank + ((size - 1) * size)/2;
/* recvbuf should be size * (rank + i) */
if (recvbuf[0] != sumval) {
err++;