xref: /petsc/src/sys/tests/ex57.c (revision 327415f76d85372a4417cf1aaa14db707d4d6c04)
157f21012SBarry Smith 
257f21012SBarry Smith static char help[] = "Tests PetscCommGetComm().\n";
357f21012SBarry Smith 
457f21012SBarry Smith #include <petscsys.h>
557f21012SBarry Smith 
657f21012SBarry Smith int main(int argc,char **argv)
757f21012SBarry Smith {
857f21012SBarry Smith   MPI_Comm       comms[10],comm;
957f21012SBarry Smith   PetscInt       i;
1057f21012SBarry Smith   PetscRandom    rand;
1157f21012SBarry Smith 
12*327415f7SBarry Smith   PetscFunctionBeginUser;
139566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc,&argv,(char*)0,help));
149566063dSJacob Faibussowitsch   PetscCall(PetscRandomCreate(PETSC_COMM_WORLD,&rand));
159566063dSJacob Faibussowitsch   PetscCall(PetscObjectGetComm((PetscObject)rand,&comm));
1657f21012SBarry Smith   for (i=0; i<10; i++) {
179566063dSJacob Faibussowitsch     PetscCall(PetscCommGetComm(comm,&comms[i]));
1857f21012SBarry Smith   }
1957f21012SBarry Smith   for (i=0; i<5; i++) {
209566063dSJacob Faibussowitsch     PetscCall(PetscCommRestoreComm(comm,&comms[i]));
2157f21012SBarry Smith   }
2257f21012SBarry Smith   for (i=0; i<5; i++) {
239566063dSJacob Faibussowitsch     PetscCall(PetscCommGetComm(comm,&comms[i]));
2457f21012SBarry Smith   }
2557f21012SBarry Smith   for (i=0; i<10; i++) {
269566063dSJacob Faibussowitsch     PetscCall(PetscCommRestoreComm(comm,&comms[i]));
2757f21012SBarry Smith   }
289566063dSJacob Faibussowitsch   PetscCall(PetscRandomDestroy(&rand));
299566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
30b122ec5aSJacob Faibussowitsch   return 0;
3157f21012SBarry Smith }
3257f21012SBarry Smith 
3357f21012SBarry Smith /*TEST
3457f21012SBarry Smith 
3557f21012SBarry Smith    test:
3657f21012SBarry Smith      requires: defined(PETSC_USE_LOG)
3757f21012SBarry Smith      args: -info
3857f21012SBarry Smith      filter: grep Reusing | wc -l
3957f21012SBarry Smith 
4057f21012SBarry Smith TEST*/
41