The reason is that Hypre headers are broken if complex.h is included, therefore we need some hack to prevent it from being visible in that setting. (The user might have the same problem.)<div><br></div><div>Oh, are you saying that we should still guard inclusion and definition of PetscComplex to compilation units defining PETSC_DESIRE_COMPLEX, but define PETSC_HAVE_COMPLEX regardless? That's fine with me.<br>
<br>With all these complexes running around, what are we going to do about Matt's psychological condition?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 2, 2012 at 10:56 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Seems unnecessarily convoluted. Why not just have PETSC_HAVE_COMPLEX defined if either PETSC_HAVE_CXX_COMPLEX or PETSC_HAVE_C99_COMPLEX is defined in petscconf.h<br>
<br>
Why restrict knowledge of complex to certain files with #define PETSC_DESIRE_COMPLEX at the top?<br>
<span class="HOEnZb"><font color="#888888"><br>
Barry<br>
<br>
</font></span></blockquote></div><br></div>