[petsc-dev] [petsc-maint #129715] __float128 complex

Alexander Grayver agrayver at gfz-potsdam.de
Fri Aug 24 06:57:36 CDT 2012



One issue. I saw there is special treatment for quad precision in 

#if defined(PETSC_USE_REAL___FLOAT128)
   double            *ppp;
#if defined(PETSC_USE_REAL___FLOAT128)
   /* If using __float128 precision we still read in doubles from file */
   if (type == PETSC_SCALAR) {
     m    = m/2;
     ierr = PetscMalloc(n*sizeof(double),&ppp);CHKERRQ(ierr);
     pp   = (char*)ppp;

As far as I can see it doesn't take into account complex numbers currently?

On 23.08.2012 18:02, Jose E. Roman wrote:
> I have pushed a change to petsc-dev that allows to configure --with-precision=__float128 --with-scalar-type=complex
> I have tested this with src/ksp/ksp/examples/tutorials/ex12.c with 1 and 2 processes. It seems to work.
> Please review the change, since I had to modify pinit.c
> A couple of comments:
> 1) The f2cblaslapack interface to quad precision subroutines (q* and w*) is defined only in the case of "uscore" mangling. Maybe a test in configure should assure this.
> 2) I could not make it work --with-clanguage=c++ - I get compilation errors like this. Any idea?


More information about the petsc-dev mailing list