<div dir="ltr">On Mon, Sep 10, 2012 at 5:48 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Sep 10, 2012, at 5:43 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
<br>
> ScalarComplex was just a typo that I noticed shortly after sending.<br>
><br>
> As for LogScalar versus ScalarLog, I can change it, but it's kind of intrusive to users and<br>
<br>
</div>    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.<br></blockquote><div><br></div><div style>
I meant that the change would be intrusive because it would impact a lot of user code.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">

> and I'm not convinced it matters.<br>
<br>
</div>    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?<br>
</blockquote><div><br></div><div style>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.</div>
<div style><br></div><div style>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.</div></div></div></div>