<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hello everyone,</p>
<p>a while ago I wrote about a patch for petsc with complex number
c++ and float128 using c99 complex numbers and you suggested to
just use petsc with a c build and then just call it from c++ (see
below).</p>
<p>I thought that this worked, but I only tried it for my patched
version. Now I tried to do this for the normal v3.7.6 and I get a
lot of errors that PetscCompex is not defined when I call it from
c++. The installation works fine and also the tutorial examples.
(which are all c)<br>
</p>
<p>It seems that if I call petsc from c++ it tries to switch to c++
complex numbers even though I build petsc with c, which are
obviously not defined.</p>
<p>So, could you give me a hint on how I should configure petsc so
that this works? Is there a way to enforce the c99 complex numbers
even when calling petsc from c++? I always used <br>
</p>
<p>./configure ... --with-cc=gcc --with-cxx=g++ --with-fc=gfortran
--download-mpich --with-clanguage=c --with-scalar-type=complex
--with-precision=__float128 --download-f2cblaslapack<br>
</p>
<p>As I said, with my patch this works fine. Thanks in advance.</p>
<p>Also I realized that parmetis does only support double and not
float128 and so building petsc with float128 and parmetis crashes.
I also made a patch for that, that just declares all parmetis
relevant parameters as real_t instead of PetscReal. Would you be
interested in including this patch? (its only 2 lines) <br>
</p>
<p>Thank you.</p>
<p>Michael<br>
</p>
<br>
<div class="moz-cite-prefix">Am 03.05.2017 um 18:08 schrieb Michael
Gegg:<br>
</div>
<blockquote type="cite"
cite="mid:828f0f41-96d8-efb1-310c-e8ca66fe06dd@tu-berlin.de">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">Am 03.05.2017 um 16:27 schrieb
Matthew Knepley:<br>
</div>
<blockquote
cite="mid:CAMYG4Gm0ofoNHgn5g7iAvs__xxUm5RRAixYffuroVcihTmu-cg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Wed, May 3, 2017 at 9:22 AM,
Michael Gegg <span dir="ltr"><<a
href="mailto:michael.gegg@tu-berlin.de"
target="_blank">michael.gegg@tu-berlin.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hello
Petsc developers,<br>
<br>
thank you for providing such a marvellous numerics
package, we had/have a lot of fun using it. For our
purposes it was necessary to use Petsc with c++,
float128 and complex. Since this is not possible with
the standard build we made a patch. It uses c style
complex numbers as a workaround.<br>
It can be used with the Parmetis package (there is a
little fix in the interface there) and we have made a
Slepc patch that then also allows to use c++, float128
and complex.<br>
It would be great if you could include it in the petsc
software.<br>
We checked the patch for v3.7.6 and v3.7.3 (latest Slepc
release)<br>
</blockquote>
<div><br>
</div>
<div>One question. Why would you compile PETSc with C++ if
you wanted to use C99 complex? You can do that with the
C build, and call</div>
<div>PETSc the same way from C++.</div>
<div><br>
</div>
</div>
</div>
</div>
</blockquote>
No specific reason. Thanks for the hint, I tried it and it works.
I could have saved some effort there, but I also learned a thing
or two ;) I just didn't know that this was possible. <br>
Thanks,<br>
Michael<br>
<blockquote
cite="mid:CAMYG4Gm0ofoNHgn5g7iAvs__xxUm5RRAixYffuroVcihTmu-cg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"> With
best regards,<br>
<br>
Michael Gegg<br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature"
data-smartmail="gmail_signature">What most experimenters
take for granted before they begin their experiments is
infinitely more interesting than any results to which
their experiments lead.<br>
-- Norbert Wiener</div>
</div>
</div>
</blockquote>
<br>
</blockquote>
</body>
</html>