Actual source code: gcookie.c

petsc-3.7.7 2017-09-25
Report Typos and Errors
  2: /*
  3:      Provides utility routines for manulating any type of PETSc object.
  4: */
  5: #include <petsc/private/petscimpl.h>  /*I   "petscsys.h"    I*/

  9: /*@C
 10:    PetscObjectGetClassId - Gets the classid for any PetscObject

 12:    Not Collective

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

 19:    Output Parameter:
 20: .  classid - the classid

 22:    Level: developer

 24: @*/
 25: PetscErrorCode  PetscObjectGetClassId(PetscObject obj,PetscClassId *classid)
 26: {
 29:   *classid = obj->classid;
 30:   return(0);
 31: }

 35: /*@C
 36:    PetscObjectGetClassName - Gets the class name for any PetscObject

 38:    Not Collective

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

 45:    Output Parameter:
 46: .  classname - the class name

 48:    Level: developer

 50: @*/
 51: PetscErrorCode  PetscObjectGetClassName(PetscObject obj, const char *classname[])
 52: {
 56:   *classname = obj->class_name;
 57:   return(0);
 58: }