[petsc-dev] PETSC_USE_COMPLEX

Jed Brown jedbrown at mcs.anl.gov
Thu Oct 25 19:54:12 CDT 2012


This looks fine. Are you going to backout the other change then?

On Thu, Oct 25, 2012 at 7:39 PM, Satish Balay <balay at mcs.anl.gov> wrote:

> Sorry - I meant to use PETSC_HAVE_COMPLEX [not PETSC_USE_COMPLEX].
>
> The primary change I intended is:
> >>>>
> diff --git a/src/sys/objects/pinit.c b/src/sys/objects/pinit.c
> --- a/src/sys/objects/pinit.c
> +++ b/src/sys/objects/pinit.c
> @@ -711,7 +711,7 @@
>  #endif
>    }
>
> -#if !defined(PETSC_HAVE_MPI_C_DOUBLE_COMPLEX)
> +#if defined(PETSC_HAVE_COMPLEX) &&
> !defined(PETSC_HAVE_MPI_C_DOUBLE_COMPLEX)
>    ierr =
> MPI_Type_contiguous(2,MPI_DOUBLE,&MPIU_C_DOUBLE_COMPLEX);CHKERRQ(ierr);
>    ierr = MPI_Type_commit(&MPIU_C_DOUBLE_COMPLEX);CHKERRQ(ierr);
>    ierr = MPI_Type_contiguous(2,MPI_FLOAT,&MPIU_C_COMPLEX);CHKERRQ(ierr);
> asterix:/home/balay/spetsc>
> <<<
> But I figured that flag could be used for PETSC_i part of the code anyway.
> [the PETSC_i part of the logic should be equivalent after this change].
>
> So if its ok - I'll push:
>
> >>>>>>
> asterix:/home/balay/spetsc>hg diff
> diff --git a/src/sys/objects/pinit.c b/src/sys/objects/pinit.c
> --- a/src/sys/objects/pinit.c
> +++ b/src/sys/objects/pinit.c
> @@ -702,7 +702,7 @@
>       shared libraries the constructors for global variables
>       are not called; at least on IRIX.
>    */
> -#if defined(PETSC_USE_COMPLEX)
> +#if defined(PETSC_HAVE_COMPLEX)
>    {
>  #if defined(PETSC_CLANGUAGE_CXX)
>      PetscComplex ic(0.0,1.0);
> @@ -718,7 +718,7 @@
>    ierr = MPI_Type_contiguous(2,MPI_FLOAT,&MPIU_C_COMPLEX);CHKERRQ(ierr);
>    ierr = MPI_Type_commit(&MPIU_C_COMPLEX);CHKERRQ(ierr);
>  #endif
> -#endif /* PETSC_USE_COMPLEX */
> +#endif /* PETSC_HAVE_COMPLEX */
>
>    /*
>       Create the PETSc MPI reduction operator that sums of the first
> asterix:/home/balay/spetsc>
> <<<<<<<<<
>
> Satish
>
>
>
> On Thu, 25 Oct 2012, Jed Brown wrote:
>
> > I don't want this.
> >
> >
> https://bitbucket.org/petsc/petsc-dev/changeset/3e5bdcc83cd970452d0648da9955f789cc574198
> >
> >
> > The whole reason I added PetscComplex rather than just using PetscScalar
> is
> > that I wanted to use complex numbers for method design (polynomial
> > optimization and time integration). What was the actual problem? If
> > Microsoft has broken C99, then PETSC_HAVE_C99_COMPLEX should not be
> defined.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121025/d558f7e5/attachment.html>


More information about the petsc-dev mailing list