1*57f21012SBarry Smith 2*57f21012SBarry Smith static char help[] = "Tests PetscCommGetComm().\n"; 3*57f21012SBarry Smith 4*57f21012SBarry Smith #include <petscsys.h> 5*57f21012SBarry Smith 6*57f21012SBarry Smith int main(int argc,char **argv) 7*57f21012SBarry Smith { 8*57f21012SBarry Smith PetscErrorCode ierr; 9*57f21012SBarry Smith MPI_Comm comms[10],comm; 10*57f21012SBarry Smith PetscInt i; 11*57f21012SBarry Smith PetscRandom rand; 12*57f21012SBarry Smith 13*57f21012SBarry Smith ierr = PetscInitialize(&argc,&argv,(char*)0,help);if (ierr) return ierr; 14*57f21012SBarry Smith ierr = PetscRandomCreate(PETSC_COMM_WORLD,&rand);CHKERRQ(ierr); 15*57f21012SBarry Smith ierr = PetscObjectGetComm((PetscObject)rand,&comm);CHKERRQ(ierr); 16*57f21012SBarry Smith for (i=0; i<10; i++) { 17*57f21012SBarry Smith ierr = PetscCommGetComm(comm,&comms[i]);CHKERRQ(ierr); 18*57f21012SBarry Smith } 19*57f21012SBarry Smith for (i=0; i<5; i++) { 20*57f21012SBarry Smith ierr = PetscCommRestoreComm(comm,&comms[i]);CHKERRQ(ierr); 21*57f21012SBarry Smith } 22*57f21012SBarry Smith for (i=0; i<5; i++) { 23*57f21012SBarry Smith ierr = PetscCommGetComm(comm,&comms[i]);CHKERRQ(ierr); 24*57f21012SBarry Smith } 25*57f21012SBarry Smith for (i=0; i<10; i++) { 26*57f21012SBarry Smith ierr = PetscCommRestoreComm(comm,&comms[i]);CHKERRQ(ierr); 27*57f21012SBarry Smith } 28*57f21012SBarry Smith ierr = PetscRandomDestroy(&rand);CHKERRQ(ierr); 29*57f21012SBarry Smith ierr = PetscFinalize(); 30*57f21012SBarry Smith return ierr; 31*57f21012SBarry Smith } 32*57f21012SBarry Smith 33*57f21012SBarry Smith /*TEST 34*57f21012SBarry Smith 35*57f21012SBarry Smith test: 36*57f21012SBarry Smith requires: defined(PETSC_USE_LOG) 37*57f21012SBarry Smith args: -info 38*57f21012SBarry Smith filter: grep Reusing | wc -l 39*57f21012SBarry Smith 40*57f21012SBarry Smith TEST*/ 41