Lines Matching refs:obj

101 PetscErrorCode PetscHeaderDestroy_Private(PetscObject obj, PetscBool clear_for_reuse)  in PetscHeaderDestroy_Private()  argument
104 PetscValidHeader(obj, 1); in PetscHeaderDestroy_Private()
105 PetscCall(PetscComposedQuantitiesDestroy(obj)); in PetscHeaderDestroy_Private()
113 if (obj->python_destroy) { in PetscHeaderDestroy_Private()
114 void *python_context = obj->python_context; in PetscHeaderDestroy_Private()
115 PetscErrorCode (*python_destroy)(void *) = obj->python_destroy; in PetscHeaderDestroy_Private()
117 obj->python_context = NULL; in PetscHeaderDestroy_Private()
118 obj->python_destroy = NULL; in PetscHeaderDestroy_Private()
121 PetscCall(PetscObjectDestroyOptionsHandlers(obj)); in PetscHeaderDestroy_Private()
122 PetscCall(PetscObjectListDestroy(&obj->olist)); in PetscHeaderDestroy_Private()
125 if (PetscPrintFunctionList) PetscCall(PetscFunctionListPrintNonEmpty(obj->qlist)); in PetscHeaderDestroy_Private()
126obj->refct <= 0, obj->comm, PETSC_ERR_PLIB, "Destroying a PetscObject (%s) with reference count %"… in PetscHeaderDestroy_Private()
127 PetscCall(PetscFree(obj->name)); in PetscHeaderDestroy_Private()
128 PetscCall(PetscFree(obj->prefix)); in PetscHeaderDestroy_Private()
129 PetscCall(PetscFree(obj->type_name)); in PetscHeaderDestroy_Private()
135 obj->id = PetscObjectNewId_Internal(); in PetscHeaderDestroy_Private()
136 obj->refct = 1; in PetscHeaderDestroy_Private()
137 obj->tablevel = 0; in PetscHeaderDestroy_Private()
138 obj->state = 0; in PetscHeaderDestroy_Private()
140 PetscCall(PetscFunctionListClear(obj->qlist)); in PetscHeaderDestroy_Private()
141 PetscCall(PetscArrayzero(obj->fortran_func_pointers, obj->num_fortran_func_pointers)); in PetscHeaderDestroy_Private()
142 …PetscCall(PetscArrayzero(obj->fortrancallback[PETSC_FORTRAN_CALLBACK_CLASS], obj->num_fortrancallb… in PetscHeaderDestroy_Private()
143 …PetscCall(PetscArrayzero(obj->fortrancallback[PETSC_FORTRAN_CALLBACK_SUBTYPE], obj->num_fortrancal… in PetscHeaderDestroy_Private()
144 obj->optionsprinted = PETSC_FALSE; in PetscHeaderDestroy_Private()
146 obj->amsmem = PETSC_FALSE; in PetscHeaderDestroy_Private()
147 obj->amspublishblock = PETSC_FALSE; in PetscHeaderDestroy_Private()
149 obj->options = NULL; in PetscHeaderDestroy_Private()
150 obj->donotPetscObjectPrintClassNamePrefixType = PETSC_FALSE; in PetscHeaderDestroy_Private()
152 PetscCall(PetscFunctionListDestroy(&obj->qlist)); in PetscHeaderDestroy_Private()
153 PetscCall(PetscFree(obj->fortran_func_pointers)); in PetscHeaderDestroy_Private()
154 PetscCall(PetscFree(obj->fortrancallback[PETSC_FORTRAN_CALLBACK_CLASS])); in PetscHeaderDestroy_Private()
155 PetscCall(PetscFree(obj->fortrancallback[PETSC_FORTRAN_CALLBACK_SUBTYPE])); in PetscHeaderDestroy_Private()
156 PetscCall(PetscCommDestroy(&obj->comm)); in PetscHeaderDestroy_Private()
157 obj->classid = PETSCFREEDHEADER; in PetscHeaderDestroy_Private()
162 if (PetscObjects[i] == obj) { in PetscHeaderDestroy_Private()
195 PetscErrorCode PetscHeaderReset_Internal(PetscObject obj) in PetscHeaderReset_Internal() argument
198 PetscCall(PetscHeaderDestroy_Private(obj, PETSC_TRUE)); in PetscHeaderReset_Internal()
264 PetscErrorCode PetscObjectSetFortranCallback(PetscObject obj, PetscFortranCallbackType cbtype, Pets… in PetscObjectSetFortranCallback() argument
269 PetscValidHeader(obj, 1); in PetscObjectSetFortranCallback()
270 if (cbtype == PETSC_FORTRAN_CALLBACK_SUBTYPE) subtype = obj->type_name; in PetscObjectSetFortranCallback()
271 if (!*cid) PetscCall(PetscFortranCallbackRegister(obj->classid, subtype, cid)); in PetscObjectSetFortranCallback()
272 if (*cid >= PETSC_SMALLEST_FORTRAN_CALLBACK + obj->num_fortrancallback[cbtype]) { in PetscObjectSetFortranCallback()
273 PetscFortranCallbackId oldnum = obj->num_fortrancallback[cbtype]; in PetscObjectSetFortranCallback()
277 PetscCall(PetscArraycpy(callback, obj->fortrancallback[cbtype], oldnum)); in PetscObjectSetFortranCallback()
278 PetscCall(PetscFree(obj->fortrancallback[cbtype])); in PetscObjectSetFortranCallback()
280 obj->fortrancallback[cbtype] = callback; in PetscObjectSetFortranCallback()
281 obj->num_fortrancallback[cbtype] = newnum; in PetscObjectSetFortranCallback()
283 obj->fortrancallback[cbtype][*cid - PETSC_SMALLEST_FORTRAN_CALLBACK].func = func; in PetscObjectSetFortranCallback()
284 obj->fortrancallback[cbtype][*cid - PETSC_SMALLEST_FORTRAN_CALLBACK].ctx = ctx; in PetscObjectSetFortranCallback()
309 PetscErrorCode PetscObjectGetFortranCallback(PetscObject obj, PetscFortranCallbackType cbtype, Pets… in PetscObjectGetFortranCallback() argument
314 PetscValidHeader(obj, 1); in PetscObjectGetFortranCallback()
315 …PetscCheck(cid >= PETSC_SMALLEST_FORTRAN_CALLBACK, obj->comm, PETSC_ERR_ARG_CORRUPT, "Fortran call… in PetscObjectGetFortranCallback()
316 …PetscCheck(cid < PETSC_SMALLEST_FORTRAN_CALLBACK + obj->num_fortrancallback[cbtype], obj->comm, PE… in PetscObjectGetFortranCallback()
317 cb = &obj->fortrancallback[cbtype][cid - PETSC_SMALLEST_FORTRAN_CALLBACK]; in PetscObjectGetFortranCallback()
427 PetscErrorCode PetscObjectsGetObject(const char name[], PetscObject *obj, const char *classname[]) in PetscObjectsGetObject() argument
435 if (obj) *obj = NULL; in PetscObjectsGetObject()
441 if (obj) *obj = h; in PetscObjectsGetObject()
455 PetscErrorCode PetscObjectsGetObject(const char name[], PetscObject *obj, const char *classname[]) in PetscObjectsGetObject() argument
475 PetscErrorCode PetscObjectSetPrintedOptions(PetscObject obj) in PetscObjectSetPrintedOptions() argument
478 PetscAssertPointer(obj, 1); in PetscObjectSetPrintedOptions()
479 obj->optionsprinted = PETSC_TRUE; in PetscObjectSetPrintedOptions()
500 PetscErrorCode PetscObjectInheritPrintedOptions(PetscObject pobj, PetscObject obj) in PetscObjectInheritPrintedOptions() argument
506 PetscValidHeader(obj, 2); in PetscObjectInheritPrintedOptions()
508 PetscCallMPI(MPI_Comm_size(obj->comm, &size)); in PetscObjectInheritPrintedOptions()
509 if (size == 1 && prank > 0) obj->optionsprinted = PETSC_TRUE; in PetscObjectInheritPrintedOptions()
538 …bject obj, PetscErrorCode (*handle)(PetscObject obj, PetscOptionItems PetscOptionsObject, PetscCtx… in PetscObjectAddOptionsHandler() argument
541 PetscValidHeader(obj, 1); in PetscObjectAddOptionsHandler()
542 for (PetscInt i = 0; i < obj->noptionhandler; i++) { in PetscObjectAddOptionsHandler()
543 …PetscBool identical = (PetscBool)(obj->optionhandler[i] == handle && obj->optiondestroy[i] == dest… in PetscObjectAddOptionsHandler()
546 …PetscCheck(obj->noptionhandler < PETSC_MAX_OPTIONS_HANDLER, obj->comm, PETSC_ERR_ARG_OUTOFRANGE, "… in PetscObjectAddOptionsHandler()
547 obj->optionhandler[obj->noptionhandler] = handle; in PetscObjectAddOptionsHandler()
548 obj->optiondestroy[obj->noptionhandler] = destroy; in PetscObjectAddOptionsHandler()
549 obj->optionctx[obj->noptionhandler++] = ctx; in PetscObjectAddOptionsHandler()
567 PetscErrorCode PetscObjectProcessOptionsHandlers(PetscObject obj, PetscOptionItems PetscOptionsObje… in PetscObjectProcessOptionsHandlers() argument
570 PetscValidHeader(obj, 1); in PetscObjectProcessOptionsHandlers()
571 …for (PetscInt i = 0; i < obj->noptionhandler; i++) PetscCall((*obj->optionhandler[i])(obj, PetscOp… in PetscObjectProcessOptionsHandlers()
588 PetscErrorCode PetscObjectDestroyOptionsHandlers(PetscObject obj) in PetscObjectDestroyOptionsHandlers() argument
591 PetscValidHeader(obj, 1); in PetscObjectDestroyOptionsHandlers()
592 for (PetscInt i = 0; i < obj->noptionhandler; i++) { in PetscObjectDestroyOptionsHandlers()
593 if (obj->optiondestroy[i]) PetscCall((*obj->optiondestroy[i])(obj, obj->optionctx[i])); in PetscObjectDestroyOptionsHandlers()
595 obj->noptionhandler = 0; in PetscObjectDestroyOptionsHandlers()
616 PetscErrorCode PetscObjectReference(PetscObject obj) in PetscObjectReference() argument
619 if (!obj) PetscFunctionReturn(PETSC_SUCCESS); in PetscObjectReference()
620 PetscValidHeader(obj, 1); in PetscObjectReference()
621 obj->refct++; in PetscObjectReference()
641 PetscErrorCode PetscObjectGetReference(PetscObject obj, PetscInt *cnt) in PetscObjectGetReference() argument
644 PetscValidHeader(obj, 1); in PetscObjectGetReference()
646 *cnt = obj->refct; in PetscObjectGetReference()
670 PetscErrorCode PetscObjectDereference(PetscObject obj) in PetscObjectDereference() argument
673 if (!obj) PetscFunctionReturn(PETSC_SUCCESS); in PetscObjectDereference()
674 PetscValidHeader(obj, 1); in PetscObjectDereference()
675 if (obj->bops->destroy) PetscCall((*obj->bops->destroy)(&obj)); in PetscObjectDereference()
676 …else PetscCheck(--obj->refct, PETSC_COMM_SELF, PETSC_ERR_SUP, "This PETSc object does not have a g… in PetscObjectDereference()
684 PetscErrorCode PetscObjectRemoveReference(PetscObject obj, const char name[]) in PetscObjectRemoveReference() argument
687 PetscValidHeader(obj, 1); in PetscObjectRemoveReference()
688 PetscCall(PetscObjectListRemoveReference(&obj->olist, name)); in PetscObjectRemoveReference()
730 PetscErrorCode PetscObjectCompose(PetscObject obj, const char name[], PetscObject ptr) in PetscObjectCompose() argument
733 PetscValidHeader(obj, 1); in PetscObjectCompose()
736 PetscCheck(obj != ptr, PetscObjectComm(obj), PETSC_ERR_SUP, "Cannot compose object with itself"); in PetscObjectCompose()
741 PetscCall(PetscObjectListReverseFind(ptr->olist, obj, &tname, &skipreference)); in PetscObjectCompose()
744 PetscCall(PetscObjectListAdd(&obj->olist, name, ptr)); in PetscObjectCompose()
774 PetscErrorCode PetscObjectQuery(PetscObject obj, const char name[], PetscObject *ptr) in PetscObjectQuery() argument
777 PetscValidHeader(obj, 1); in PetscObjectQuery()
780 PetscCall(PetscObjectListFind(obj->olist, name, ptr)); in PetscObjectQuery()
815 PetscErrorCode PetscObjectComposeFunction_Private(PetscObject obj, const char name[], PetscErrorCod… in PetscObjectComposeFunction_Private() argument
818 PetscValidHeader(obj, 1); in PetscObjectComposeFunction_Private()
820 PetscCall(PetscFunctionListAdd_Private(&obj->qlist, name, fptr)); in PetscObjectComposeFunction_Private()
845 PETSC_EXTERN PetscErrorCode PetscObjectQueryFunction_Private(PetscObject obj, const char name[], Pe… in PetscObjectQueryFunction_Private() argument
848 PetscValidHeader(obj, 1); in PetscObjectQueryFunction_Private()
850 PetscCall(PetscFunctionListFind_Private(obj->qlist, name, fptr)); in PetscObjectQueryFunction_Private()
870 PetscErrorCode PetscObjectHasFunction(PetscObject obj, const char name[], PetscBool *has) in PetscObjectHasFunction() argument
876 PetscCall(PetscObjectQueryFunction(obj, name, &fptr)); in PetscObjectHasFunction()
904 PetscErrorCode PetscContainerGetPointer(PetscContainer obj, PetscCtxRt ptr) in PetscContainerGetPointer() argument
907 PetscValidHeaderSpecific(obj, PETSC_CONTAINER_CLASSID, 1); in PetscContainerGetPointer()
909 *(void **)ptr = obj->ctx; in PetscContainerGetPointer()
927 PetscErrorCode PetscContainerSetPointer(PetscContainer obj, void *ptr) in PetscContainerSetPointer() argument
930 PetscValidHeaderSpecific(obj, PETSC_CONTAINER_CLASSID, 1); in PetscContainerSetPointer()
932 obj->ctx = ptr; in PetscContainerSetPointer()
952 PetscErrorCode PetscContainerDestroy(PetscContainer *obj) in PetscContainerDestroy() argument
955 if (!*obj) PetscFunctionReturn(PETSC_SUCCESS); in PetscContainerDestroy()
956 PetscValidHeaderSpecific(*obj, PETSC_CONTAINER_CLASSID, 1); in PetscContainerDestroy()
957 if (--((PetscObject)*obj)->refct > 0) { in PetscContainerDestroy()
958 *obj = NULL; in PetscContainerDestroy()
961 if ((*obj)->ctxdestroy) PetscCall((*(*obj)->ctxdestroy)(&(*obj)->ctx)); in PetscContainerDestroy()
962 …else if ((*obj)->userdestroy_deprecated) PetscCall((*(*obj)->userdestroy_deprecated)((*obj)->ctx)); in PetscContainerDestroy()
963 PetscCall(PetscHeaderDestroy(obj)); in PetscContainerDestroy()
984 PetscErrorCode PetscContainerSetCtxDestroy(PetscContainer obj, PetscCtxDestroyFn *des) in PetscContainerSetCtxDestroy() argument
987 PetscValidHeaderSpecific(obj, PETSC_CONTAINER_CLASSID, 1); in PetscContainerSetCtxDestroy()
988 obj->ctxdestroy = des; in PetscContainerSetCtxDestroy()
1009 PetscErrorCode PetscContainerSetUserDestroy(PetscContainer obj, PetscErrorCode (*des)(void *)) in PetscContainerSetUserDestroy() argument
1012 PetscValidHeaderSpecific(obj, PETSC_CONTAINER_CLASSID, 1); in PetscContainerSetUserDestroy()
1013 obj->userdestroy_deprecated = des; in PetscContainerSetUserDestroy()
1070 PetscErrorCode PetscObjectContainerCompose(PetscObject obj, const char *name, void *pointer, PetscC… in PetscObjectContainerCompose() argument
1075 PetscCall(PetscContainerCreate(PetscObjectComm(obj), &container)); in PetscObjectContainerCompose()
1078 PetscCall(PetscObjectCompose(obj, name, (PetscObject)container)); in PetscObjectContainerCompose()
1100 PetscErrorCode PetscObjectContainerQuery(PetscObject obj, const char *name, PetscCtxRt ptr) in PetscObjectContainerQuery() argument
1105 PetscCall(PetscObjectQuery(obj, name, (PetscObject *)&container)); in PetscObjectContainerQuery()
1126 PetscErrorCode PetscObjectSetFromOptions(PetscObject obj) in PetscObjectSetFromOptions() argument
1129 PetscValidHeader(obj, 1); in PetscObjectSetFromOptions()
1148 PetscErrorCode PetscObjectSetUp(PetscObject obj) in PetscObjectSetUp() argument
1151 PetscValidHeader(obj, 1); in PetscObjectSetUp()