Date: 2020-01-13T12:02:24+00:00

Actual source code: slepcblaslapack_stdcall.h
slepc-3.12.2 2020-01-13
Report Typos and Errors

      1: /*
      2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
      4:    Copyright (c) 2002-2019, Universitat Politecnica de Valencia, Spain

      6:    This file is part of SLEPc.
      7:    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
      8:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      9: */

     11: #if !defined(SLEPCBLASLAPACK_STDCALL_H)
     12: #define SLEPCBLASLAPACK_STDCALL_H

     14: /* LAPACK functions without string parameters */
     15: #define BLASrot_     PETSCBLAS(rot,ROT)
     16: #define BLASMIXEDrot_ PETSCBLASMIXED(rot,ROT)
     17: #define LAPACKlaev2_ PETSCBLAS(laev2,LAEV2)
     18: #define LAPACKgehrd_ PETSCBLAS(gehrd,GEHRD)
     19: #define LAPACKgelqf_ PETSCBLAS(gelqf,GELQF)
     20: #define LAPACKlarfg_ PETSCBLAS(larfg,LARFG)
     21: #define LAPACKlag2_  PETSCBLASREAL(lag2,LAG2)
     22: #define LAPACKlasv2_ PETSCBLASREAL(lasv2,LASV2)
     23: #define LAPACKlartg_ PETSCBLAS(lartg,LARTG)
     24: #define LAPACKREALlartg_ PETSCBLASREAL(lartg,LARTG)
     25: #define LAPACKlaln2_ PETSCBLASREAL(laln2,LALN2)
     26: #define LAPACKlaed4_ PETSCBLASREAL(laed4,LAED4)
     27: #define LAPACKlamrg_ PETSCBLASREAL(lamrg,LAMRG)
     28: #define LAPACKlapy2_ PETSCBLASREAL(lapy2,LAPY2)
     29: #if !defined(PETSC_USE_COMPLEX)
     30: #define LAPACKorghr_ PETSCBLAS(orghr,ORGHR)
     31: #else
     32: #define LAPACKorghr_ PETSCBLAS(unghr,UNGHR)
     33: #endif
     34: #define LAPACKtgexc_ PETSCBLAS(tgexc,TGEXC)
     35: #define LAPACKgeqp3_ PETSCBLAS(geqp3,GEQP3)

     37: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASR(rot,ROT) (PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscReal*);
     38: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(laev2,LAEV2) (PetscScalar*,PetscScalar*,PetscScalar*,PetscReal*,PetscReal*,PetscReal*,PetscScalar*);
     39: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(gehrd,GEHRD) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     40: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(gelqf,GELQF) (PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     41: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(larfg,LARFG) (PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*);
     42: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(lag2,LAG2) (PetscReal*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
     43: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(lasv2,LASV2) (PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
     44: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(lartg,LARTG) (PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*);
     45: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(laln2,LALN2) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*);
     46: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(laed4,LAED4) (PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*);
     47: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(lamrg,LAMRG) (PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
     48: SLEPC_EXTERN SlepcLRT PETSC_STDCALL PETSCBLASREAL(lapy2,LAPY2) (PetscReal*,PetscReal*);
     49: #if !defined(PETSC_USE_COMPLEX)
     50: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(orghr,ORGHR) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     51: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(tgexc,TGEXC) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     52: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(geqp3,GEQP3) (PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     53: #else
     54: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(unghr,UNGHR) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     55: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(tgexc,TGEXC) (PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
     56: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLAS(geqp3,GEQP3) (PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*);
     57: #endif

     59: /* LAPACK functions with string parameters */

     61: /* same name for real and complex */
     62: #define BLAStrmm_(a,b,c,d,e,f,g,h,i,j,k) PETSCBLAS(trmm,TRMM) ((a),1,(b),1,(c),1,(d),1,(e),(f),(g),(h),(i),(j),(k))
     63: #define LAPACKlanhs_(a,b,c,d,e) PETSCBLAS(lanhs,LANHS) ((a),1,(b),(c),(d),(e))
     64: #define LAPACKlange_(a,b,c,d,e,f) PETSCBLAS(lange,LANGE) ((a),1,(b),(c),(d),(e),(f))
     65: #define LAPACKpbtrf_(a,b,c,d,e,f) PETSCBLAS(pbtrf,PBTRF) ((a),1,(b),(c),(d),(e),(f))
     66: #define LAPACKlarf_(a,b,c,d,e,f,g,h,i) PETSCBLAS(larf,LARF) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i))
     67: #define LAPACKlacpy_(a,b,c,d,e,f,g) PETSCBLAS(lacpy,LACPY) ((a),1,(b),(c),(d),(e),(f),(g))
     68: #define LAPACKlansy_(a,b,c,d,e,f) PETSCBLAS(lansy,LANSY) ((a),1,(b),1,(c),(d),(e),(f))
     69: #define LAPACKlaset_(a,b,c,d,e,f,g) PETSCBLAS(laset,LASET) ((a),1,(b),(c),(d),(e),(f),(g))
     70: #define LAPACKtrsyl_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLAS(trsyl,TRSYL) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
     71: #define LAPACKtrtri_(a,b,c,d,e,f) PETSCBLAS(trtri,TRTRI) ((a),1,(b),1,(c),(d),(e),(f))

     73: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(trmm,TRMM) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*);
     74: SLEPC_EXTERN SlepcLRT  PETSC_STDCALL PETSCBLAS(lanhs,LANHS) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*);
     75: SLEPC_EXTERN SlepcLRT  PETSC_STDCALL PETSCBLAS(lange,LANGE) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*);
     76: SLEPC_EXTERN SlepcLRT  PETSC_STDCALL PETSCBLAS(pbtrf,PBTRF) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
     77: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(larf,LARF) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*);
     78: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(lacpy,LACPY) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*);
     79: SLEPC_EXTERN SlepcLRT  PETSC_STDCALL PETSCBLAS(lansy,LANSY) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*);
     80: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(laset,LASET) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*);
     81: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(trsyl,TRSYL) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*);
     82: SLEPC_EXTERN void      PETSC_STDCALL PETSCBLAS(trtri,TRTRI) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);

     84: /* subroutines in which we use only the real version, do not care whether they have different name */
     85: #define LAPACKstevr_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) PETSCBLASREAL(stevr,STEVR) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t))
     86: #define LAPACKbdsdc_(a,b,c,d,e,f,g,h,i,j,k,l,m,n) PETSCBLASREAL(bdsdc,BDSDC) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n))
     87: #define LAPACKlamch_(a) PETSCBLASREAL(lamch,LAMCH) ((a),1)
     88: #define LAPACKlamc3_(a,b) PETSCBLASREAL(lamc3,LAMC3) ((a),(b))

     90: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(stevr,STEVR) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
     91: SLEPC_EXTERN void     PETSC_STDCALL PETSCBLASREAL(bdsdc,BDSDC) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*);
     92: SLEPC_EXTERN SlepcLRT PETSC_STDCALL PETSCBLASREAL(lamch,LAMCH) (const char*,PetscBLASInt);
     93: SLEPC_EXTERN SlepcLRT PETSC_STDCALL PETSCBLASREAL(lamc3,LAMC3) (PetscReal*,PetscReal*);

     95: /* subroutines with different name in real/complex */
     96: #if !defined(PETSC_USE_COMPLEX)
     97: #define LAPACKormlq_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLAS(ormlq,ORMLQ) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
     98: #define LAPACKorgtr_(a,b,c,d,e,f,g,h) PETSCBLAS(orgtr,ORGTR) ((a),1,(b),(c),(d),(e),(f),(g),(h))
     99: #define LAPACKsytrd_(a,b,c,d,e,f,g,h,i,j) PETSCBLAS(sytrd,SYTRD) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j))
    100: #define LAPACKsyevr_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) PETSCBLAS(syevr,SYEVR) ((a),1,(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u))
    101: #define LAPACKsyevd_(a,b,c,d,e,f,g,h,i,j,k) PETSCBLAS(syevd,SYEVD) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k))
    102: #define LAPACKsygvd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n)  PETSCBLAS(sygvd,SYGVD) ((a),(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n))
    103: #else
    104: #define LAPACKormlq_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLAS(unmlq,UNMLQ) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
    105: #define LAPACKorgtr_(a,b,c,d,e,f,g,h) PETSCBLAS(ungtr,UNGTR) ((a),1,(b),(c),(d),(e),(f),(g),(h))
    106: #define LAPACKsytrd_(a,b,c,d,e,f,g,h,i,j) PETSCBLAS(hetrd,HETRD) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j))
    107: #define LAPACKsyevr_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) PETSCBLAS(heevr,HEEVR) ((a),1,(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w))
    108: #define LAPACKsyevd_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLAS(heevd,HEEVD) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
    109: #define LAPACKsygvd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) PETSCBLAS(hegvd,HEGVD) ((a),(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p))
    110: #endif

    112: #if !defined(PETSC_USE_COMPLEX)
    113: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ormlq,ORMLQ) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    114: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(orgtr,ORGTR) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    115: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(sytrd,SYTRD) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscReal*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    116: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(syevr,SYEVR) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    117: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(syevd,SYEVD) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    118: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(sygvd,SYGVD) (PetscBLASInt*,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    119: #else
    120: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(unmlq,UNMLQ) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    121: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ungtr,UNGTR) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    122: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(hetrd,HETRD) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscReal*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    123: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(heevr,HEEVR) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscBLASInt*, PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    124: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(heevd,HEEVD) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    125: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(hegvd,HEGVD) (PetscBLASInt*,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    126: #endif

    128: /* subroutines with different signature in real/complex */
    129: #if !defined(PETSC_USE_COMPLEX)
    130: #define LAPACKggevx_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac) PETSCBLAS(ggevx,GGEVX) ((a),1,(b),1,(c),1,(d),1,(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),(y),(z),(aa),(ab),(ac))
    131: #define LAPACKggev_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) PETSCBLAS(ggev,GGEV) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q))
    132: #define LAPACKtrevc_(a,b,c,d,e,f,g,h,i,j,k,l,m,n) PETSCBLAS(trevc,TREVC) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n))
    133: #define LAPACKgeevx_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) PETSCBLAS(geevx,GEEVX) ((a),1,(b),1,(c),1,(d),1,(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w))
    134: #define LAPACKgees_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) PETSCBLAS(gees,GEES) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o))
    135: #define LAPACKtrexc_(a,b,c,d,e,f,g,h,i,j) PETSCBLAS(trexc,TREXC) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j))
    136: #define LAPACKgesdd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n) PETSCBLAS(gesdd,GESDD) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n))
    137: #define LAPACKtgevc_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) PETSCBLAS(tgevc,TGEVC) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p))
    138: #define LAPACKhsein_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) PETSCBLAS(hsein,HSEIN) ((a),1,(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s))
    139: #define LAPACKstedc_(a,b,c,d,e,f,g,h,i,j,k) PETSCBLAS(stedc,STEDC) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j),(k))
    140: #define LAPACKlascl_(a,b,c,d,e,f,g,h,i,j) PETSCBLAS(lascl,LASCL) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j))
    141: #else
    142: #define LAPACKggevx_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac) PETSCBLAS(ggevx,GGEVX) ((a),1,(b),1,(c),1,(d),1,(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v),(w),(x),(y),(z),(aa),(ab),(ac))
    143: #define LAPACKggev_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) PETSCBLAS(ggev,GGEV) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q))
    144: #define LAPACKtrevc_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) PETSCBLAS(trevc,TREVC) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o))
    145: #define LAPACKgeevx_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) PETSCBLAS(geevx,GEEVX) ((a),1,(b),1,(c),1,(d),1,(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s),(t),(u),(v))
    146: #define LAPACKgees_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) PETSCBLAS(gees,GEES) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o))
    147: #define LAPACKtrexc_(a,b,c,d,e,f,g,h,i) PETSCBLAS(trexc,TREXC) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i))
    148: #define LAPACKgesdd_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) PETSCBLAS(gesdd,GESDD) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o))
    149: #define LAPACKtgevc_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) PETSCBLAS(tgevc,TGEVC) ((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q))
    150: #define LAPACKhsein_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) PETSCBLAS(hsein,HSEIN) ((a),1,(b),1,(c),1,(d),(e),(f),(g),(h),(i),(j),(k),(l),(m),(n),(o),(p),(q),(r),(s))
    151: #define LAPACKstedc_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLAS(stedc,STEDC) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
    152: #define LAPACKlascl_(a,b,c,d,e,f,g,h,i,j) PETSCBLAS(lascl,LASCL) ((a),1,(b),(c),(d),(e),(f),(g),(h),(i),(j))
    153: #endif

    155: #if !defined(PETSC_USE_COMPLEX)
    156: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ggevx,GGEVX) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    157: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ggev,GGEV) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    158: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(trevc,TREVC) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*);
    159: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(geevx,GEEVX) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    160: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(gees,GEES) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt(*)(PetscReal,PetscReal),PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    161: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(trexc,TREXC) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*);
    162: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(gesdd,GESDD) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    163: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(tgevc,TGEVC) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*);
    164: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(hsein,HSEIN) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    165: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(stedc,STEDC) (const char*,PetscBLASInt,PetscBLASInt*,PetscReal*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    166: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(lascl,LASCL) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    167: #else
    168: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ggevx,GGEVX) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    169: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(ggev,GGEV) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*);
    170: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(trevc,TREVC) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscReal*,PetscBLASInt*);
    171: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(geevx,GEEVX) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*);
    172: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(gees,GEES) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt(*)(PetscScalar),PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*);
    173: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(trexc,TREXC) (const char*,PetscBLASInt,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    174: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(gesdd,GESDD) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*);
    175: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(tgevc,TGEVC) (const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscReal*,PetscBLASInt*);
    176: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(hsein,HSEIN) (const char*,PetscBLASInt,const char*,PetscBLASInt,const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    177: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(stedc,STEDC) (const char*,PetscBLASInt,PetscBLASInt*,PetscReal*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*);
    178: SLEPC_EXTERN void PETSC_STDCALL PETSCBLAS(lascl,LASCL) (const char*,PetscBLASInt,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
    179: #endif

    181: #if defined(PETSC_HAVE_COMPLEX)
    182: /* complex subroutines to be called with scalar-type=real */
    183: #define BLASCOMPLEXgemm_(a,b,c,d,e,f,g,h,i,j,k,l,m) PETSCBLASCOMPLEX(gemm,GEMM)((a),1,(b),1,(c),(d),(e),(f),(g),(h),(i),(j),(k),(l),(m))
    184: SLEPC_EXTERN void PETSC_STDCALL PETSCBLASCOMPLEX(gemm,GEMM)(const char*,const char*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscComplex*,PetscComplex*,PetscBLASInt*,PetscComplex*,PetscBLASInt*,PetscComplex*,PetscComplex*,PetscBLASInt*);
    185: #define BLASCOMPLEXscal_   PETSCBLASCOMPLEX(scal,SCAL)
    186: SLEPC_EXTERN void PETSC_STDCALL PETSCBLASCOMPLEX(scal,SCAL)(const PetscBLASInt*,const PetscComplex*,PetscComplex*,const PetscBLASInt*);
    187: #define LAPACKCOMPLEXgesv_ PETSCBLASCOMPLEX(gesv,GESV)
    188: SLEPC_EXTERN void PETSC_STDCALL PETSCBLASCOMPLEX(gesv,GESV)(const PetscBLASInt*,const PetscBLASInt*,PetscComplex*,const PetscBLASInt*,PetscBLASInt*,PetscComplex*,const PetscBLASInt*,PetscBLASInt*);
    189: #endif

    191: #endif