157f21012SBarry Smith static char help[] = "Tests PetscCommGetComm().\n"; 257f21012SBarry Smith 357f21012SBarry Smith #include <petscsys.h> 457f21012SBarry Smith 5d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 6d71ae5a4SJacob Faibussowitsch { 757f21012SBarry Smith MPI_Comm comms[10], comm; 857f21012SBarry Smith PetscInt i; 957f21012SBarry Smith PetscRandom rand; 1057f21012SBarry Smith 11327415f7SBarry Smith PetscFunctionBeginUser; 12*c8025a54SPierre Jolivet PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 139566063dSJacob Faibussowitsch PetscCall(PetscRandomCreate(PETSC_COMM_WORLD, &rand)); 149566063dSJacob Faibussowitsch PetscCall(PetscObjectGetComm((PetscObject)rand, &comm)); 1548a46eb9SPierre Jolivet for (i = 0; i < 10; i++) PetscCall(PetscCommGetComm(comm, &comms[i])); 1648a46eb9SPierre Jolivet for (i = 0; i < 5; i++) PetscCall(PetscCommRestoreComm(comm, &comms[i])); 1748a46eb9SPierre Jolivet for (i = 0; i < 5; i++) PetscCall(PetscCommGetComm(comm, &comms[i])); 1848a46eb9SPierre Jolivet for (i = 0; i < 10; i++) PetscCall(PetscCommRestoreComm(comm, &comms[i])); 199566063dSJacob Faibussowitsch PetscCall(PetscRandomDestroy(&rand)); 209566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 21b122ec5aSJacob Faibussowitsch return 0; 2257f21012SBarry Smith } 2357f21012SBarry Smith 2457f21012SBarry Smith /*TEST 2557f21012SBarry Smith 2657f21012SBarry Smith test: 2757f21012SBarry Smith requires: defined(PETSC_USE_LOG) 2857f21012SBarry Smith args: -info 2957f21012SBarry Smith filter: grep Reusing | wc -l 3057f21012SBarry Smith 3157f21012SBarry Smith TEST*/ 32