Date: 2022-08-02T03:13:22+00:00

Actual source code: gcookie.c

      2: /*
      3:      Provides utility routines for manulating any type of PETSc object.
      4: */
      5: #include <petsc/private/petscimpl.h>

      7: /*@
      8:    PetscObjectGetClassId - Gets the classid for any PetscObject

     10:    Not Collective

     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);

     17:    Output Parameter:
     18: .  classid - the classid

     20:    Level: developer

     22: @*/
     23: PetscErrorCode  PetscObjectGetClassId(PetscObject obj,PetscClassId *classid)
     24: {
     27:   *classid = obj->classid;
     28:   return 0;
     29: }

     31: /*@C
     32:    PetscObjectGetClassName - Gets the class name for any PetscObject

     34:    Not Collective

     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);

     41:    Output Parameter:
     42: .  classname - the class name

     44:    Level: developer

     46: @*/
     47: PetscErrorCode  PetscObjectGetClassName(PetscObject obj, const char *classname[])
     48: {
     51:   *classname = obj->class_name;
     52:   return 0;
     53: }