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 /*@
8 PetscObjectGetClassId - Gets the classid for any PetscObject
9
10 Not Collective
11
12 Input Parameter:
13 . obj - any PETSc object, for example a Vec, Mat or KSP.
14 Thus must be cast with a (PetscObject), for example,
15 PetscObjectGetClassId((PetscObject)mat,&classid);
16
17 Output Parameter:
18 . classid - the classid
19
20 Level: developer
21
22 @*/
PetscObjectGetClassId(PetscObject obj,PetscClassId * classid)23 PetscErrorCode PetscObjectGetClassId(PetscObject obj,PetscClassId *classid)
24 {
25 PetscFunctionBegin;
26 PetscValidHeader(obj,1);
27 *classid = obj->classid;
28 PetscFunctionReturn(0);
29 }
30
31 /*@C
32 PetscObjectGetClassName - Gets the class name for any PetscObject
33
34 Not Collective
35
36 Input Parameter:
37 . obj - any PETSc object, for example a Vec, Mat or KSP.
38 Thus must be cast with a (PetscObject), for example,
39 PetscObjectGetClassName((PetscObject)mat,&classname);
40
41 Output Parameter:
42 . classname - the class name
43
44 Level: developer
45
46 @*/
PetscObjectGetClassName(PetscObject obj,const char * classname[])47 PetscErrorCode PetscObjectGetClassName(PetscObject obj, const char *classname[])
48 {
49 PetscFunctionBegin;
50 PetscValidHeader(obj,1);
51 PetscValidPointer(classname,2);
52 *classname = obj->class_name;
53 PetscFunctionReturn(0);
54 }
55