| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) s##lcase##_ |
| #endif |
| #elif defined(PETSC_USE_REAL___FLOAT128) |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) q##lcase##_ |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) w##lcase##_ |
| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) q##lcase##_ |
| #endif |
| #else |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) d##lcase##_ |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) z##lcase##_ |
| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) S##ucase |
| #endif |
| #elif defined(PETSC_USE_REAL___FLOAT128) |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) Q##ucase |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) W##ucase |
| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) Q##ucase |
| #endif |
| #else |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) D##ucase |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) Z##ucase |
| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) s##lcase |
| #endif |
| #elif defined(PETSC_USE_REAL___FLOAT128) |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) q##lcase |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) w##lcase |
| #else |
| #define SLEPC_BLASLAPACK(lcase,ucase) q##lcase |
| #endif |
| #else |
| #define SLEPC_BLASLAPACKREAL(lcase,ucase) d##lcase |
| #if defined(PETSC_USE_COMPLEX) |
| #define SLEPC_BLASLAPACK(lcase,ucase) z##lcase |
| l += ['orghr','syevr','sygvd','ormlq'] |
| if petscconf.PRECISION == 'single': |
| prefix = 's' |
| if petscconf.PRECISION == '__float128': |
| prefix = 'q' |
| else: |
| prefix = 'd' |
| else: |
| l += ['unghr','heevr','hegvd','unmlq','ungtr','hetrd'] |
| if petscconf.PRECISION == 'single': |
| prefix = 'c' |
| if petscconf.PRECISION == '__float128': |
| prefix = 'w' |
| else: |
| prefix = 'z' |
| # LAPACK functions which are always used in real version |
| if petscconf.PRECISION == 'single': |
| functions += ['sstevr','sbdsdc','ssteqr','sorgtr','ssytrd','slamch','slag2'] |
| elif petscconf.PRECISION == '__float128': |
| functions += ['qstevr','qbdsdc','qsteqr','qorgtr','qsytrd','qlamch','qlag2'] |
| else: |
| functions += ['dstevr','dbdsdc','dsteqr','dorgtr','dsytrd','dlamch','dlag2'] |