[petsc-dev] [PATCH] Custom use of complex when not configured for complex

Jed Brown jedbrown at mcs.anl.gov
Sun Jan 6 20:04:55 CST 2013


On Mon, Sep 10, 2012 at 5:48 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Sep 10, 2012, at 5:43 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
> > ScalarComplex was just a typo that I noticed shortly after sending.
> >
> > As for LogScalar versus ScalarLog, I can change it, but it's kind of
> intrusive to users and
>
>     What do you mean intrusive? How is PetscScalarLog any more intrusive
> than PetscLogScalar? It is the same number of letters, same concepts; but
> one is right and one is wrong.
>

I meant that the change would be intrusive because it would impact a lot of
user code.


> > and I'm not convinced it matters.
>
>     What do you mean? Consistent use of notation doesn't matter?   Why not
> have KSPGMRESSetRestart() and  KSPSetHaptolGMRES() and
> CGSetUseComplexSymmetric() all in the same library?  Why bother having
> consistent notation anywhere?
>

This is static type dependence for something that is semantically the same
operation. The KSPGMRESSetXXX style notation is used consistently for
dynamically typed specialized operations. I would consider PetscLogScalar()
to be more like KSPSolve_YYY(), but where we can't hide the suffix because
of the type system.

Note that if we could rely on C99, we could use tgmath.h (type-generic
math) and wouldn't need the type suffixes any more.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130106/672c4587/attachment.html>


More information about the petsc-dev mailing list