| 64 | 
  | 
 | 
| 65 | 
  | 
    int nProcessors; | 
| 66 | 
  | 
    MPI_Comm_size(MPI_COMM_WORLD, &nProcessors); | 
| 67 | 
< | 
 | 
| 67 | 
> | 
    MPI_Comm_rank( MPI_COMM_WORLD, &myRank_); | 
| 68 | 
  | 
    //In order to generate independent random number stream, the actual seed used by random  | 
| 69 | 
  | 
    //number generator is the seed passed to the constructor plus the number of random number | 
| 70 | 
  | 
    //generators which are already created.      | 
| 71 | 
  | 
    int newSeed = oneSeed + nCreatedRNG_; | 
| 72 | 
< | 
    mtRand_ = new MTRand(newSeed, nProcessors, worldRank); | 
| 72 | 
> | 
    mtRand_ = new MTRand(newSeed, nProcessors, myRank_); | 
| 73 | 
  | 
 | 
| 74 | 
  | 
    ++nCreatedRNG_; | 
| 75 | 
  | 
} | 
| 80 | 
  | 
    const int masterNode = 0; | 
| 81 | 
  | 
    int nProcessors; | 
| 82 | 
  | 
    MPI_Comm_size(MPI_COMM_WORLD, &nProcessors); | 
| 83 | 
< | 
    mtRand_ = new MTRand(nProcessors, worldRank); | 
| 83 | 
> | 
    MPI_Comm_rank( MPI_COMM_WORLD, &myRank_); | 
| 84 | 
> | 
    mtRand_ = new MTRand(nProcessors, myRank_); | 
| 85 | 
  | 
 | 
| 86 | 
  | 
    seed();       /** @todo calling virtual function in constructor is not a good design */ | 
| 87 | 
  | 
} |