PCShell interface
Matthew Knepley
knepley at gmail.com
Wed Jun 10 13:33:14 CDT 2009
On Wed, Jun 10, 2009 at 1:29 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> The later is fine you can go with that, though it is inconsistent with
> Mat (perhaps Mat should be changed :-(
>
If we rewrote PETSc, I would be for
a) the ability for users to replace arbitrary functions by name (like
Objective C). This already happens with ComposeFunction()
b) maintain type safety with replacement (I think ObjC does this, but we
don't)
c) have everything compile down to fast dispatch (I don't know if ObjC
does this, and it requires JIT)
Matt
> On Jun 10, 2009, at 11:40 AM, Matthew Knepley wrote:
>
> On Wed, Jun 10, 2009 at 11:33 AM, Jed Brown <jed at 59a2.org> wrote:
>> Barry Smith wrote:
>> >
>> > Go ahead. This has been on the todo list for a decade.
>>
>> I see two ways to do it. One is to define a PCOperation enum and have
>> PCShellSetOperation (analogous to MatShell), the other is to just update
>> the current interface for void* -> PC. The former results in less code
>> (though more changes today), but the latter offers stronger type
>> checking and is not outrageously bloated because the PC interface is
>> pretty small. What is your preference?
>>
>> I like the latter. I never liked the enums, but Mat has so many
>> operations.
>>
>> Matt
>>
>>
>> > Remember to update dev.html with the change and change any examples
>> > that use PCShell.
>> >
>> > Note you have to update the Fortran stubs for these beasts (some of
>> > the uglier stuff in PETSc.)
>>
>> Yep.
>>
>> Jed
>>
>>
>>
>>
>> --
>> What most experimenters take for granted before they begin their
>> experiments is infinitely more interesting than any results to which their
>> experiments lead.
>> -- Norbert Wiener
>>
>
>
--
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090610/45fa02b4/attachment.html>
More information about the petsc-dev
mailing list