1 2 /* 3 Provides utility routines for manulating any type of PETSc object. 4 */ 5 #include <petsc/private/petscimpl.h> /*I "petscsys.h" I*/ 6 7 #undef __FUNCT__ 8 #define __FUNCT__ "PetscObjectGetClassId" 9 /*@C 10 PetscObjectGetClassId - Gets the classid for any PetscObject 11 12 Not Collective 13 14 Input Parameter: 15 . obj - any PETSc object, for example a Vec, Mat or KSP. 16 Thus must be cast with a (PetscObject), for example, 17 PetscObjectGetClassId((PetscObject)mat,&classid); 18 19 Output Parameter: 20 . classid - the classid 21 22 Level: developer 23 24 @*/ 25 PetscErrorCode PetscObjectGetClassId(PetscObject obj,PetscClassId *classid) 26 { 27 PetscFunctionBegin; 28 PetscValidHeader(obj,1); 29 *classid = obj->classid; 30 PetscFunctionReturn(0); 31 } 32 33 #undef __FUNCT__ 34 #define __FUNCT__ "PetscObjectGetClassName" 35 /*@C 36 PetscObjectGetClassName - Gets the class name for any PetscObject 37 38 Not Collective 39 40 Input Parameter: 41 . obj - any PETSc object, for example a Vec, Mat or KSP. 42 Thus must be cast with a (PetscObject), for example, 43 PetscObjectGetClassName((PetscObject)mat,&classname); 44 45 Output Parameter: 46 . classname - the class name 47 48 Level: developer 49 50 @*/ 51 PetscErrorCode PetscObjectGetClassName(PetscObject obj, const char *classname[]) 52 { 53 PetscFunctionBegin; 54 PetscValidHeader(obj,1); 55 PetscValidPointer(classname,2); 56 *classname = obj->class_name; 57 PetscFunctionReturn(0); 58 } 59