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