On Wed, Jun 10, 2009 at 1:29 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
   The later is fine you can go with that, though it is inconsistent with Mat (perhaps Mat should be changed :-(<br><div><div class="h5"></div></div></blockquote><div><br>If we rewrote PETSc, I would be for<br><br>  a) the ability for users to replace arbitrary functions by name (like Objective C). This already happens with ComposeFunction()<br>
<br>  b) maintain type safety with replacement (I think ObjC does this, but we don't)<br><br>  c) have everything compile down to fast dispatch (I don't know if ObjC does this, and it requires JIT)<br><br>  Matt<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div class="h5">
On Jun 10, 2009, at 11:40 AM, Matthew Knepley wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Jun 10, 2009 at 11:33 AM, Jed Brown <<a href="mailto:jed@59a2.org" target="_blank">jed@59a2.org</a>> wrote:<br>
Barry Smith wrote:<br>
><br>
>    Go ahead. This has been on the todo list for a decade.<br>
<br>
I see two ways to do it.  One is to define a PCOperation enum and have<br>
PCShellSetOperation (analogous to MatShell), the other is to just update<br>
the current interface for void* -> PC.  The former results in less code<br>
(though more changes today), but the latter offers stronger type<br>
checking and is not outrageously bloated because the PC interface is<br>
pretty small.  What is your preference?<br>
<br>
I like the latter.  I never liked the enums, but Mat has so many operations.<br>
<br>
  Matt<br>
<br>
<br>
>    Remember to update dev.html with the change and change any examples<br>
> that use PCShell.<br>
><br>
>    Note you have to update the Fortran stubs for these beasts (some of<br>
> the uglier stuff in PETSc.)<br>
<br>
Yep.<br>
<br>
Jed<br>
<br>
<br>
<br>
<br>
-- <br>
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>