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