Lines Matching refs:bag
8 static PetscErrorCode PetscBagRegister_Private(PetscBag bag, PetscBagItem item, const char *name, c… in PetscBagRegister_Private() argument
13 if (bag->bagitems) { in PetscBagRegister_Private()
14 PetscBagItem nitem = bag->bagitems; in PetscBagRegister_Private()
18 } else bag->bagitems = item; in PetscBagRegister_Private()
19 bag->count++; in PetscBagRegister_Private()
42 PetscErrorCode PetscBagRegisterEnum(PetscBag bag, void *addr, const char *const *list, PetscEnum md… in PetscBagRegisterEnum() argument
50 PetscAssertPointer(bag, 1); in PetscBagRegisterEnum()
61 …PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%s>: (%s) %s (choose one of) ", bag->bagprefi… in PetscBagRegisterEnum()
62 for (i = 0; list[i + 2]; i++) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " %s", list[i])); in PetscBagRegisterEnum()
63 PetscCall((*PetscHelpPrintf)(bag->bagcomm, "\n")); in PetscBagRegisterEnum()
65 PetscCall(PetscOptionsGetEnum(NULL, bag->bagprefix, nname, list, &mdefault, NULL)); in PetscBagRegisterEnum()
69 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterEnum()
70 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterEnum()
75 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterEnum()
97 PetscErrorCode PetscBagRegisterIntArray(PetscBag bag, void *addr, PetscInt msize, const char *name,… in PetscBagRegisterIntArray() argument
105 PetscAssertPointer(bag, 1); in PetscBagRegisterIntArray()
114 …PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <", bag->bagprefix ? bag->bagprefix : "", name… in PetscBagRegisterIntArray()
115 …for (i = 0; i < msize; i++) PetscCall((*PetscHelpPrintf)(bag->bagcomm, "%" PetscInt_FMT " ", *((Pe… in PetscBagRegisterIntArray()
116 PetscCall((*PetscHelpPrintf)(bag->bagcomm, ">: %s \n", help)); in PetscBagRegisterIntArray()
118 PetscCall(PetscOptionsGetIntArray(NULL, bag->bagprefix, nname, (PetscInt *)addr, &tmp, NULL)); in PetscBagRegisterIntArray()
122 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterIntArray()
123 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterIntArray()
126 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterIntArray()
148 PetscErrorCode PetscBagRegisterRealArray(PetscBag bag, void *addr, PetscInt msize, const char *name… in PetscBagRegisterRealArray() argument
156 PetscAssertPointer(bag, 1); in PetscBagRegisterRealArray()
165 …PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <", bag->bagprefix ? bag->bagprefix : "", name… in PetscBagRegisterRealArray()
166 …for (i = 0; i < msize; i++) PetscCall((*PetscHelpPrintf)(bag->bagcomm, "%g ", (double)(*((PetscRea… in PetscBagRegisterRealArray()
167 PetscCall((*PetscHelpPrintf)(bag->bagcomm, ">: %s \n", help)); in PetscBagRegisterRealArray()
169 PetscCall(PetscOptionsGetRealArray(NULL, bag->bagprefix, nname, (PetscReal *)addr, &tmp, NULL)); in PetscBagRegisterRealArray()
173 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterRealArray()
174 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterRealArray()
177 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterRealArray()
199 PetscErrorCode PetscBagRegisterInt(PetscBag bag, void *addr, PetscInt mdefault, const char *name, c… in PetscBagRegisterInt() argument
206 PetscAssertPointer(bag, 1); in PetscBagRegisterInt()
214 …printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%" PetscInt_FMT ">: %s \n", bag->b… in PetscBagRegisterInt()
215 PetscCall(PetscOptionsGetInt(NULL, bag->bagprefix, nname, &mdefault, NULL)); in PetscBagRegisterInt()
219 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterInt()
220 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterInt()
224 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterInt()
246 PetscErrorCode PetscBagRegisterInt64(PetscBag bag, void *addr, PetscInt64 mdefault, const char *nam… in PetscBagRegisterInt64() argument
261 …printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%" PetscInt_FMT ">: %s \n", bag->b… in PetscBagRegisterInt64()
262 PetscCall(PetscOptionsGetInt(NULL, bag->bagprefix, nname, &odefault, &flg)); in PetscBagRegisterInt64()
267 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterInt64()
268 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterInt64()
272 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterInt64()
294 PetscErrorCode PetscBagRegisterBoolArray(PetscBag bag, void *addr, PetscInt msize, const char *name… in PetscBagRegisterBoolArray() argument
302 PetscAssertPointer(bag, 1); in PetscBagRegisterBoolArray()
311 …PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <", bag->bagprefix ? bag->bagprefix : "", name… in PetscBagRegisterBoolArray()
312 …for (i = 0; i < msize; i++) PetscCall((*PetscHelpPrintf)(bag->bagcomm, "%" PetscInt_FMT " ", *((Pe… in PetscBagRegisterBoolArray()
313 PetscCall((*PetscHelpPrintf)(bag->bagcomm, ">: %s \n", help)); in PetscBagRegisterBoolArray()
315 PetscCall(PetscOptionsGetBoolArray(NULL, bag->bagprefix, nname, (PetscBool *)addr, &tmp, NULL)); in PetscBagRegisterBoolArray()
319 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterBoolArray()
320 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterBoolArray()
323 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterBoolArray()
349 PetscErrorCode PetscBagRegisterString(PetscBag bag, void *addr, PetscInt msize, const char *mdefaul… in PetscBagRegisterString() argument
356 PetscAssertPointer(bag, 1); in PetscBagRegisterString()
365 …if (printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%s>: %s \n", bag->bagprefix ? … in PetscBagRegisterString()
369 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterString()
370 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterString()
374 PetscCall(PetscOptionsGetString(NULL, bag->bagprefix, nname, (char *)addr, msize, NULL)); in PetscBagRegisterString()
375 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterString()
397 PetscErrorCode PetscBagRegisterReal(PetscBag bag, void *addr, PetscReal mdefault, const char *name,… in PetscBagRegisterReal() argument
404 PetscAssertPointer(bag, 1); in PetscBagRegisterReal()
412 …if (printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%g>: %s \n", bag->bagprefix ? … in PetscBagRegisterReal()
413 PetscCall(PetscOptionsGetReal(NULL, bag->bagprefix, nname, &mdefault, NULL)); in PetscBagRegisterReal()
417 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterReal()
418 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterReal()
422 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterReal()
444 PetscErrorCode PetscBagRegisterScalar(PetscBag bag, void *addr, PetscScalar mdefault, const char *n… in PetscBagRegisterScalar() argument
451 PetscAssertPointer(bag, 1); in PetscBagRegisterScalar()
459 …if (printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%g + %gi>: %s \n", bag->bagpre… in PetscBagRegisterScalar()
460 PetscCall(PetscOptionsGetScalar(NULL, bag->bagprefix, nname, &mdefault, NULL)); in PetscBagRegisterScalar()
464 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterScalar()
465 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterScalar()
469 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterScalar()
491 PetscErrorCode PetscBagRegisterBool(PetscBag bag, void *addr, PetscBool mdefault, const char *name,… in PetscBagRegisterBool() argument
498 PetscAssertPointer(bag, 1); in PetscBagRegisterBool()
506 …if (printhelp) PetscCall((*PetscHelpPrintf)(bag->bagcomm, " -%s%s <%s>: %s \n", bag->bagprefix ? … in PetscBagRegisterBool()
507 PetscCall(PetscOptionsGetBool(NULL, bag->bagprefix, nname, &mdefault, NULL)); in PetscBagRegisterBool()
511 item->offset = (PetscInt)(((size_t)addr) - ((size_t)bag)); in PetscBagRegisterBool()
512 …PetscCheck(item->offset <= bag->bagsize, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Registered it… in PetscBagRegisterBool()
516 PetscCall(PetscBagRegister_Private(bag, item, name, help)); in PetscBagRegisterBool()
534 PetscErrorCode PetscBagDestroy(PetscBag *bag) in PetscBagDestroy() argument
539 if (!*bag) PetscFunctionReturn(PETSC_SUCCESS); in PetscBagDestroy()
540 PetscAssertPointer(*bag, 1); in PetscBagDestroy()
541 nitem = (*bag)->bagitems; in PetscBagDestroy()
549 if ((*bag)->bagprefix) PetscCall(PetscFree((*bag)->bagprefix)); in PetscBagDestroy()
550 PetscCall(PetscFree(*bag)); in PetscBagDestroy()
571 PetscErrorCode PetscBagSetFromOptions(PetscBag bag) in PetscBagSetFromOptions() argument
573 PetscBagItem nitem = bag->bagitems; in PetscBagSetFromOptions()
578 PetscAssertPointer(bag, 1); in PetscBagSetFromOptions()
579 PetscCall(PetscStrncpy(helpname, bag->bagname, sizeof(helpname))); in PetscBagSetFromOptions()
581 PetscCall(PetscStrlcat(helpname, bag->baghelp, sizeof(helpname))); in PetscBagSetFromOptions()
582 PetscOptionsBegin(bag->bagcomm, bag->bagprefix, helpname, NULL); in PetscBagSetFromOptions()
588 char *value = ((char *)bag) + nitem->offset; in PetscBagSetFromOptions()
591 PetscReal *value = (PetscReal *)(((char *)bag) + nitem->offset); in PetscBagSetFromOptions()
599 PetscScalar *value = (PetscScalar *)(((char *)bag) + nitem->offset); in PetscBagSetFromOptions()
602 PetscInt *value = (PetscInt *)(((char *)bag) + nitem->offset); in PetscBagSetFromOptions()
610 PetscEnum *value = (PetscEnum *)(((char *)bag) + nitem->offset); in PetscBagSetFromOptions()
615 PetscBool *value = (PetscBool *)(((char *)bag) + nitem->offset); in PetscBagSetFromOptions()
648 PetscErrorCode PetscBagView(PetscBag bag, PetscViewer view) in PetscBagView() argument
651 PetscBagItem nitem = bag->bagitems; in PetscBagView()
654 PetscAssertPointer(bag, 1); in PetscBagView()
659 if (bag->bagprefix) { in PetscBagView()
660 …scViewerASCIIPrintf(view, "PetscBag Object: %s (%s) %s\n", bag->bagname, bag->bagprefix, bag->bag… in PetscBagView()
662 … PetscCall(PetscViewerASCIIPrintf(view, "PetscBag Object: %s %s\n", bag->bagname, bag->baghelp)); in PetscBagView()
666 char *value = ((char *)bag) + nitem->offset; in PetscBagView()
672 PetscReal *value = (PetscReal *)(((char *)bag) + nitem->offset); in PetscBagView()
678 PetscScalar value = *(PetscScalar *)(((char *)bag) + nitem->offset); in PetscBagView()
689 PetscInt i, *value = (PetscInt *)(((char *)bag) + nitem->offset); in PetscBagView()
694 PetscBool *value = (PetscBool *)(((char *)bag) + nitem->offset); in PetscBagView()
705 PetscEnum value = *(PetscEnum *)(((char *)bag) + nitem->offset); in PetscBagView()
718 PetscCall(PetscViewerBinaryWrite(view, &bag->count, 1, PETSC_INT)); in PetscBagView()
719 PetscCall(PetscViewerBinaryWrite(view, bag->bagname, PETSC_BAG_NAME_LENGTH, PETSC_CHAR)); in PetscBagView()
720 PetscCall(PetscViewerBinaryWrite(view, bag->baghelp, PETSC_BAG_HELP_LENGTH, PETSC_CHAR)); in PetscBagView()
729 … PetscCall(PetscViewerBinaryWrite(view, (char *)bag + nitem->offset, nitem->msize, nitem->dtype)); in PetscBagView()
740 PetscCall(PetscFPrintf(comm, info, "#$$ Set.%s = PetscBinaryRead(fd);\n", bag->bagname)); in PetscBagView()
761 PetscErrorCode PetscBagViewFromOptions(PetscBag bag, PetscObject bobj, const char optionname[]) in PetscBagViewFromOptions() argument
772 PetscAssertPointer(bag, 1); in PetscBagViewFromOptions()
774 prefix = bobj ? bprefix : bag->bagprefix; in PetscBagViewFromOptions()
775 …PetscCall(PetscOptionsCreateViewer(bag->bagcomm, NULL, prefix, optionname, &viewer, &format, &flg)… in PetscBagViewFromOptions()
778 PetscCall(PetscBagView(bag, viewer)); in PetscBagViewFromOptions()
805 PetscErrorCode PetscBagLoad(PetscViewer view, PetscBag bag) in PetscBagLoad() argument
816 PetscAssertPointer(bag, 2); in PetscBagLoad()
818 PetscCallMPI(MPI_Comm_compare(comm, bag->bagcomm, &flag)); in PetscBagLoad()
827 …bag->count, comm, PETSC_ERR_ARG_INCOMP, "Bag in file has different number of entries %" PetscInt_F… in PetscBagLoad()
828 PetscCall(PetscViewerBinaryRead(view, bag->bagname, PETSC_BAG_NAME_LENGTH, NULL, PETSC_CHAR)); in PetscBagLoad()
829 PetscCall(PetscViewerBinaryRead(view, bag->baghelp, PETSC_BAG_HELP_LENGTH, NULL, PETSC_CHAR)); in PetscBagLoad()
831 nitem = bag->bagitems; in PetscBagLoad()
841 … PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, msize, NULL, PETSC_CHAR)); in PetscBagLoad()
843 … PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, msize, NULL, PETSC_REAL)); in PetscBagLoad()
845 PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, 1, NULL, PETSC_SCALAR)); in PetscBagLoad()
847 PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, msize, NULL, PETSC_INT)); in PetscBagLoad()
849 … PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, msize, NULL, PETSC_BOOL)); in PetscBagLoad()
851 PetscCall(PetscViewerBinaryRead(view, ((char *)bag) + nitem->offset, 1, NULL, PETSC_ENUM)); in PetscBagLoad()
887 PetscErrorCode PetscBagCreate(MPI_Comm comm, size_t bagsize, PetscBag *bag) in PetscBagCreate() argument
892 PetscAssertPointer(bag, 3); in PetscBagCreate()
895 PetscCall(PetscCalloc(totalsize, bag)); in PetscBagCreate()
896 PetscCall(PetscIntCast(totalsize, &(*bag)->bagsize)); in PetscBagCreate()
897 (*bag)->bagcomm = comm; in PetscBagCreate()
898 (*bag)->bagprefix = NULL; in PetscBagCreate()
899 …(*bag)->structlocation = (void *)(((char *)(*bag)) + sizeof(PetscScalar) * (sizeof(struct _n_Petsc… in PetscBagCreate()
919 PetscErrorCode PetscBagSetName(PetscBag bag, const char name[], const char help[]) in PetscBagSetName() argument
922 PetscAssertPointer(bag, 1); in PetscBagSetName()
925 PetscCall(PetscStrncpy(bag->bagname, name, PETSC_BAG_NAME_LENGTH - 1)); in PetscBagSetName()
926 PetscCall(PetscStrncpy(bag->baghelp, help, PETSC_BAG_HELP_LENGTH - 1)); in PetscBagSetName()
947 PetscErrorCode PetscBagGetName(PetscBag bag, const char **name) in PetscBagGetName() argument
950 PetscAssertPointer(bag, 1); in PetscBagGetName()
952 *name = bag->bagname; in PetscBagGetName()
975 PetscErrorCode PetscBagGetData(PetscBag bag, PetscCtxRt data) in PetscBagGetData() argument
978 PetscAssertPointer(bag, 1); in PetscBagGetData()
980 *(void **)data = bag->structlocation; in PetscBagGetData()
1002 PetscErrorCode PetscBagSetOptionsPrefix(PetscBag bag, const char pre[]) in PetscBagSetOptionsPrefix() argument
1005 PetscAssertPointer(bag, 1); in PetscBagSetOptionsPrefix()
1009 PetscCall(PetscFree(bag->bagprefix)); in PetscBagSetOptionsPrefix()
1010 PetscCall(PetscStrallocpy(pre, &bag->bagprefix)); in PetscBagSetOptionsPrefix()
1011 } else PetscCall(PetscFree(bag->bagprefix)); in PetscBagSetOptionsPrefix()
1031 PetscErrorCode PetscBagGetNames(PetscBag bag, const char *names[]) in PetscBagGetNames() argument
1033 PetscBagItem nitem = bag->bagitems; in PetscBagGetNames()
1036 PetscAssertPointer(bag, 1); in PetscBagGetNames()