Actual source code: pams.c

  1: /*$Id: pams.c,v 1.9 2001/03/23 23:20:42 balay Exp $*/

 3:  #include petsc.h

  5: #if defined(PETSC_HAVE_AMS)

  7: /*
  8:     Publishes the common header part of any PETSc object. 
  9: */
 12: int PetscObjectPublishBaseBegin(PetscObject obj)
 13: {
 14:   AMS_Memory amem;
 15:   AMS_Comm   acomm;
 16:   int        ierr;

 19:   PetscObjectName(obj);

 21:   PetscViewerAMSGetAMSComm(PETSC_VIEWER_AMS_(obj->comm),&acomm);
 22:   AMS_Memory_create(acomm,obj->name,&amem);
 23:   obj->amem = (int)amem;

 25:   AMS_Memory_take_access(amem);
 26:   AMS_Memory_add_field(amem,"Class",&obj->class_name,1,AMS_STRING,AMS_READ,
 27:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 28:   AMS_Memory_add_field(amem,"Type",&obj->type_name,1,AMS_STRING,AMS_READ,
 29:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 30:   AMS_Memory_add_field(amem,"Id",&obj->id,1,AMS_INT,AMS_READ,
 31:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 32:   AMS_Memory_add_field(amem,"ParentId",&obj->parentid,1,AMS_INT,AMS_READ,
 33:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 34:   AMS_Memory_add_field(amem,"Name",&obj->name,1,AMS_STRING,AMS_READ,
 35:                                 AMS_COMMON,AMS_REDUCT_UNDEF);
 36:   return(0);
 37: }

 41: int PetscObjectPublishBaseEnd(PetscObject obj)
 42: {
 43:   AMS_Memory amem = (AMS_Memory) obj->amem;
 44:   int        ierr;


 48:   if (amem < 0) SETERRQ(1,"Called without a call to PetscObjectPublishBaseBegin()");
 49:   AMS_Memory_publish(amem);
 50:   AMS_Memory_grant_access(amem);
 51:   return(0);
 52: }

 54: #else

 58: int mydummy(void)
 59: {
 61:   return(0);
 62: }

 64: #endif