| 751 | 
  | 
 | 
| 752 | 
  | 
    int nproc; | 
| 753 | 
  | 
    MPI_Comm_size( MPI_COMM_WORLD, &nproc); | 
| 754 | 
– | 
    // int nproc = MPI::COMM_WORLD.Get_size(); | 
| 754 | 
  | 
 | 
| 755 | 
  | 
    // we need arrays to hold the counts and displacement vectors for | 
| 756 | 
  | 
    // all processors | 
| 760 | 
  | 
    // fill the counts array | 
| 761 | 
  | 
    MPI_Allgather(&count_local, 1, MPI_INT, &counts[0], | 
| 762 | 
  | 
                  1, MPI_INT, MPI_COMM_WORLD); | 
| 764 | 
– | 
    // MPI::COMM_WORLD.Allgather(&count_local, 1, MPI::INT, &counts[0], | 
| 765 | 
– | 
    //                           1, MPI::INT); | 
| 763 | 
  | 
   | 
| 764 | 
  | 
    // use the processor counts to compute the displacement array | 
| 765 | 
  | 
    disps[0] = 0;     | 
| 776 | 
  | 
    MPI_Allgatherv(&foundTypes[0], count_local, MPI_INT,  | 
| 777 | 
  | 
                   &ftGlobal[0], &counts[0], &disps[0],  | 
| 778 | 
  | 
                   MPI_INT, MPI_COMM_WORLD); | 
| 782 | 
– | 
    // MPI::COMM_WORLD.Allgatherv(&foundTypes[0], count_local, MPI::INT,  | 
| 783 | 
– | 
    //                            &ftGlobal[0], &counts[0], &disps[0],  | 
| 784 | 
– | 
    //                            MPI::INT); | 
| 779 | 
  | 
 | 
| 780 | 
  | 
    vector<int>::iterator j; | 
| 781 | 
  | 
 |