<div dir="ltr"><div class="gmail_quote">On Wed, Feb 8, 2012 at 01:12, Jack Poulson <span dir="ltr">&lt;<a href="mailto:jack.poulson@gmail.com">jack.poulson@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Yes, one could argue that PetscScalar can behave like a custom complex class, but with only a single instantiation choice through the preprocessor where each implementation was completely separate. If this type of logic was pulled into the language instead of lying at the preprocessor stage, then it would result in a custom complex class like I am arguing for. Either way std::complex is not being used for quads. <br>
</div></blockquote><div><br></div><div>I think the typedefs are good enough for the 99%, but I was just teasing.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<br>Any way, it sounds like the current approach will work just fine for PETSc, so I will shut up. The only other argument would be if someone wanted to compute using some exotic datatype like the Gaussian integers, but that would require a subset of the functionality of standard complex class that only assumed a ring instead of a field.</div>
</blockquote></div><br><div>;-)</div></div>