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 PetscErrorCode ierr; 957f21012SBarry Smith MPI_Comm comms[10],comm; 1057f21012SBarry Smith PetscInt i; 1157f21012SBarry Smith PetscRandom rand; 1257f21012SBarry Smith 1357f21012SBarry Smith ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 14*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscRandomCreate(PETSC_COMM_WORLD,&rand)); 15*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscObjectGetComm((PetscObject)rand,&comm)); 1657f21012SBarry Smith for (i=0; i<10; i++) { 17*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscCommGetComm(comm,&comms[i])); 1857f21012SBarry Smith } 1957f21012SBarry Smith for (i=0; i<5; i++) { 20*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscCommRestoreComm(comm,&comms[i])); 2157f21012SBarry Smith } 2257f21012SBarry Smith for (i=0; i<5; i++) { 23*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscCommGetComm(comm,&comms[i])); 2457f21012SBarry Smith } 2557f21012SBarry Smith for (i=0; i<10; i++) { 26*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscCommRestoreComm(comm,&comms[i])); 2757f21012SBarry Smith } 28*5f80ce2aSJacob Faibussowitsch CHKERRQ(PetscRandomDestroy(&rand)); 2957f21012SBarry Smith ierr = PetscFinalize(); 3057f21012SBarry Smith return ierr; 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