- if (rank == 0) {
- for (i=0; i<cnt; i++) cols[i] = i;
- /* printf("[%d] sending...\n",rank);*/
- /* ierr = */ MPI_Send(cols,cnt,MPI_LONG_LONG_INT,1,0,MPI_COMM_WORLD);
- /* ierr = */ MPI_Send(cols,cnt,MPI_LONG_LONG_INT,2,0,MPI_COMM_WORLD);
- } else {
- /* printf("[%d] receiving...\n",rank); */
- for (i=0; i<cnt; i++) cols[i] = -1;
- /* ierr = */ MPI_Recv(cols,cnt,MPI_LONG_LONG_INT,0,0,MPI_COMM_WORLD,&status);
- /* ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&cnt);
- Get_count still fails because status.count is not 64 bit */
- for (i=0; i<cnt; i++) {
- if (cols[i] != i) {
- /*printf("Rank %d, cols[i]=%lld, should be %d\n", rank, cols[i], i);*/
+ if (rank == 0) {
+ for (i = 0; i < cnt; i++)
+ cols[i] = i;
+ /* printf("[%d] sending...\n",rank); */
+ ierr = MPI_Send(cols, cnt, MPI_LONG_LONG_INT, 1, 0, MPI_COMM_WORLD);
+ ierr = MPI_Send(cols, cnt, MPI_LONG_LONG_INT, 2, 0, MPI_COMM_WORLD);
+ }
+ else {
+ /* printf("[%d] receiving...\n",rank); */
+ for (i = 0; i < cnt; i++)
+ cols[i] = -1;
+ ierr = MPI_Recv(cols, cnt, MPI_LONG_LONG_INT, 0, 0, MPI_COMM_WORLD, &status);
+ ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&stat_cnt);
+ if (cnt != stat_cnt) {
+ fprintf(stderr, "Output of MPI_Get_count (%d) does not match expected count (%d).\n", stat_cnt, cnt);