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 /*@C 8 PetscObjectGetType - Gets the object type of 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 `PetscObjectGetType`((`PetscObject`)mat,&type); 16 17 Output Parameter: 18 . type - the object type, for example, `MATSEQAIJ` 19 20 Level: advanced 21 22 .seealso: `PetscObject`, `PetscClassId`, `PetscObjectGetClassName()`, `PetscObjectGetClassId()` 23 @*/ 24 PetscErrorCode PetscObjectGetType(PetscObject obj, const char *type[]) 25 { 26 PetscFunctionBegin; 27 PetscValidHeader(obj, 1); 28 PetscValidPointer(type, 2); 29 *type = obj->type_name; 30 PetscFunctionReturn(PETSC_SUCCESS); 31 } 32