Actual source code: gcomm.c
1: /*$Id: gcomm.c,v 1.25 2001/03/23 23:20:38 balay Exp $*/
2: /*
3: Provides utility routines for manulating any type of PETSc object.
4: */
5: #include petsc.h
7: #undef __FUNCT__
9: /*@C
10: PetscObjectGetComm - Gets the MPI communicator for any PetscObject,
11: regardless of the type.
13: Not Collective
15: Input Parameter:
16: . obj - any PETSc object, for example a Vec, Mat or KSP. Thus must be
17: cast with a (PetscObject), for example,
18: PetscObjectGetComm((PetscObject)mat,&comm);
20: Output Parameter:
21: . comm - the MPI communicator
23: Level: advanced
25: Concepts: communicator^getting from object
26: Concepts: MPI communicator^getting from object
28: @*/
29: int PetscObjectGetComm(PetscObject obj,MPI_Comm *comm)
30: {
34: if (!obj) SETERRQ(PETSC_ERR_ARG_CORRUPT,"Null object");
35: if (obj->bops->getcomm) {
36: obj->bops->getcomm(obj,comm);
37: } else {
38: *comm = obj->comm;
39: }
40: return(0);
41: }