<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Jed,
<div class=""><br class="">
</div>
<div class="">I pushed my attempts in <span style="font-family: "Fira Code"; font-size: 11px;" class=""><a href="https://gitlab.com/petsc/petsc/-/merge_requests/5385" class="">https://gitlab.com/petsc/petsc/-/merge_requests/5385</a> </span></div>
<div class="">
<div>I thought that they would be similar to VecGetArrayF90, but evidently they are not...</div>
<div><br class="">
</div>
<div>Strangely, valgrind reports a problem in VecSetValues, but not in VecGetValues. There are a few occurrences of a XXXGetYYY without a matching XXXRestoreYYY (but I can’t think of any at the moment), typically when the Get does not allocate any memory but
 just returns a pointer. I would indeed prefer if all Get were matched with a Restore, even if the Restore does nothing. </div>
<div><br class="">
</div>
<div>Regards,</div>
<div>Blaise</div>
<div><br class="">
</div>
<div><br class="">
</div>
<div>
<blockquote type="cite" class="">
<div class="">On Jun 26, 2022, at 1:20 AM, Jed Brown <<a href="mailto:jed@jedbrown.org" class="">jed@jedbrown.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Sorry about our late reply. Isn't VecGetValues similar? Note that VecGetValuesSection currently leaks a mutable pointer and really shouldn't exist like this without a matching VecRestoreValuesSection.<br class="">
<br class="">
 PetscCall(VecGetArray(v, &baseArray));<br class="">
 *values = &baseArray[s->atlasOff[p]];<br class="">
 PetscCall(VecRestoreArray(v, &baseArray));<br class="">
<br class="">
<br class="">
Can you make a draft MR with what you've tried thus far?<br class="">
<br class="">
Blaise Bourdin <<a href="mailto:bourdin@mcmaster.ca" class="">bourdin@mcmaster.ca</a>> writes:<br class="">
<br class="">
<blockquote type="cite" class="">Hi,<br class="">
<br class="">
I’ve been trying to add a fortran90 binding for VecGetValuesSection, without success, and could not find any function with a similar prototype to learn from. Can anybody help?<br class="">
<br class="">
Regards,<br class="">
Blaise<br class="">
<br class="">
-- <br class="">
Professor, Department of Mathematics & Statistics<br class="">
Hamilton Hall room 409A, McMaster University<br class="">
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada <br class="">
<a href="https://www.math.mcmaster.ca/bourdin" class="">https://www.math.mcmaster.ca/bourdin</a> | +1 (905) 525 9140 ext. 27243<br class="">
</blockquote>
</div>
</div>
</blockquote>
</div>
<br class="">
<div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div>-- <br class="">
Professor, Department of Mathematics & Statistics<br class="">
Hamilton Hall room 409A, McMaster University<br class="">
1280 Main Street West, Hamilton, Ontario L8S 4K1, Canada <br class="">
<a href="https://www.math.mcmaster.ca/bourdin" class="">https://www.math.mcmaster.ca/bourdin</a> | +1 (905) 525 9140 ext. 27243</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br class="">
</div>
</body>
</html>