xref: /petsc/src/sys/tests/ex57.c (revision b122ec5aa1bd4469eb4e0673542fb7de3f411254)
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*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscInitialize(&argc,&argv,(char*)0,help));
135f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscRandomCreate(PETSC_COMM_WORLD,&rand));
145f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscObjectGetComm((PetscObject)rand,&comm));
1557f21012SBarry Smith   for (i=0; i<10; i++) {
165f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscCommGetComm(comm,&comms[i]));
1757f21012SBarry Smith   }
1857f21012SBarry Smith   for (i=0; i<5; i++) {
195f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscCommRestoreComm(comm,&comms[i]));
2057f21012SBarry Smith   }
2157f21012SBarry Smith   for (i=0; i<5; i++) {
225f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscCommGetComm(comm,&comms[i]));
2357f21012SBarry Smith   }
2457f21012SBarry Smith   for (i=0; i<10; i++) {
255f80ce2aSJacob Faibussowitsch     CHKERRQ(PetscCommRestoreComm(comm,&comms[i]));
2657f21012SBarry Smith   }
275f80ce2aSJacob Faibussowitsch   CHKERRQ(PetscRandomDestroy(&rand));
28*b122ec5aSJacob Faibussowitsch   CHKERRQ(PetscFinalize());
29*b122ec5aSJacob Faibussowitsch   return 0;
3057f21012SBarry Smith }
3157f21012SBarry Smith 
3257f21012SBarry Smith /*TEST
3357f21012SBarry Smith 
3457f21012SBarry Smith    test:
3557f21012SBarry Smith      requires: defined(PETSC_USE_LOG)
3657f21012SBarry Smith      args: -info
3757f21012SBarry Smith      filter: grep Reusing | wc -l
3857f21012SBarry Smith 
3957f21012SBarry Smith TEST*/
40