Actual source code: slepcblaslapack_mangle.h
1: /*
2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: SLEPc - Scalable Library for Eigenvalue Problem Computations
4: Copyright (c) 2002-, 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: #pragma once
13: /* MANSEC = Sys */
15: /* LAPACK functions without string parameters */
16: #define BLASrot_ PETSCBLAS(rot,ROT)
17: #define BLASMIXEDrot_ PETSCBLASMIXED(rot,ROT)
18: #if !defined(SLEPC_MISSING_LAPACK_LAEV2)
19: #define LAPACKlaev2_ PETSCBLAS(laev2,LAEV2)
20: #endif
21: #if !defined(SLEPC_MISSING_LAPACK_GEHRD)
22: #define LAPACKgehrd_ PETSCBLAS(gehrd,GEHRD)
23: #endif
24: #if !defined(SLEPC_MISSING_LAPACK_LARFG)
25: #define LAPACKlarfg_ PETSCBLAS(larfg,LARFG)
26: #endif
27: #if !defined(SLEPC_MISSING_LAPACK_LAG2)
28: #define LAPACKlag2_ PETSCBLASREAL(lag2,LAG2)
29: #endif
30: #if !defined(SLEPC_MISSING_LAPACK_LASV2)
31: #define LAPACKlasv2_ PETSCBLASREAL(lasv2,LASV2)
32: #endif
33: #if !defined(SLEPC_MISSING_LAPACK_LARTG)
34: #define LAPACKlartg_ PETSCBLAS(lartg,LARTG)
35: #define LAPACKREALlartg_ PETSCBLASREAL(lartg,LARTG)
36: #endif
37: #if !defined(SLEPC_MISSING_LAPACK_LAED4)
38: #define LAPACKlaed4_ PETSCBLASREAL(laed4,LAED4)
39: #endif
40: #if !defined(SLEPC_MISSING_LAPACK_LAMRG)
41: #define LAPACKlamrg_ PETSCBLASREAL(lamrg,LAMRG)
42: #endif
43: #if !defined(SLEPC_MISSING_LAPACK_ORGHR)
44: #if !defined(PETSC_USE_COMPLEX)
45: #define LAPACKorghr_ PETSCBLAS(orghr,ORGHR)
46: #else
47: #define LAPACKorghr_ PETSCBLAS(unghr,UNGHR)
48: #endif
49: #endif
50: #if !defined(SLEPC_MISSING_LAPACK_TGEXC)
51: #define LAPACKtgexc_ PETSCBLAS(tgexc,TGEXC)
52: #endif
53: #define LAPACKgeqp3_ PETSCBLAS(geqp3,GEQP3)
55: /* LAPACK functions with string parameters */
57: /* same name for real and complex */
58: #define BLAStrmm_ PETSCBLAS(trmm,TRMM)
59: #if !defined(SLEPC_MISSING_LAPACK_LANHS)
60: #define LAPACKlanhs_ PETSCBLAS(lanhs,LANHS)
61: #endif
62: #define LAPACKlange_ PETSCBLAS(lange,LANGE)
63: #if !defined(SLEPC_MISSING_LAPACK_LARF)
64: #define LAPACKlarf_ PETSCBLAS(larf,LARF)
65: #endif
66: #define LAPACKlansy_ PETSCBLAS(lansy,LANSY)
67: #if !defined(SLEPC_MISSING_LAPACK_TRSYL)
68: #define LAPACKtrsyl_ PETSCBLAS(trsyl,TRSYL)
69: #endif
71: /* subroutines in which we use only the real version, do not care whether they have different name */
72: #if !defined(SLEPC_MISSING_LAPACK_STEVR)
73: #define LAPACKstevr_ PETSCBLASREAL(stevr,STEVR)
74: #endif
75: #if !defined(SLEPC_MISSING_LAPACK_BDSDC)
76: #define LAPACKbdsdc_ PETSCBLASREAL(bdsdc,BDSDC)
77: #endif
78: #define LAPACKlamch_ PETSCBLASREAL(lamch,LAMCH)
79: #define LAPACKlamc3_ PETSCBLASREAL(lamc3,LAMC3)
81: /* subroutines with different name in real/complex */
82: #if !defined(PETSC_USE_COMPLEX)
83: #if !defined(SLEPC_MISSING_LAPACK_ORGTR)
84: #define LAPACKorgtr_ PETSCBLAS(orgtr,ORGTR)
85: #endif
86: #if !defined(SLEPC_MISSING_LAPACK_ORMBR)
87: #define LAPACKormbr_ PETSCBLAS(ormbr,ORMBR)
88: #endif
89: #if !defined(SLEPC_MISSING_LAPACK_SYTRD)
90: #define LAPACKsytrd_ PETSCBLAS(sytrd,SYTRD)
91: #endif
92: #define LAPACKsyevd_ PETSCBLAS(syevd,SYEVD)
93: #define LAPACKsygvd_ PETSCBLAS(sygvd,SYGVD)
94: #else
95: #if !defined(SLEPC_MISSING_LAPACK_ORGTR)
96: #define LAPACKorgtr_ PETSCBLAS(ungtr,UNGTR)
97: #endif
98: #if !defined(SLEPC_MISSING_LAPACK_ORMBR)
99: #define LAPACKormbr_ PETSCBLAS(unmbr,UNMBR)
100: #endif
101: #if !defined(SLEPC_MISSING_LAPACK_SYTRD)
102: #define LAPACKsytrd_ PETSCBLAS(hetrd,HETRD)
103: #endif
104: #define LAPACKsyevd_ PETSCBLAS(heevd,HEEVD)
105: #define LAPACKsygvd_ PETSCBLAS(hegvd,HEGVD)
106: #endif
108: /* subroutines with different signature in real/complex */
109: #define LAPACKggev_ PETSCBLAS(ggev,GGEV)
110: #if !defined(SLEPC_MISSING_LAPACK_GGEV3) /* ggev and ggev3 have the same signature */
111: #define LAPACKggev3_ PETSCBLAS(ggev3,GGEV3)
112: #define LAPACKggevalt_ LAPACKggev3_
113: #else
114: #define LAPACKggevalt_ LAPACKggev_
115: #endif
116: #if !defined(SLEPC_MISSING_LAPACK_GGES3) /* gges and gges3 have the same signature */
117: #define LAPACKgges3_ PETSCBLAS(gges3,GGES3)
118: #define LAPACKggesalt_ LAPACKgges3_
119: #else
120: #define LAPACKggesalt_ LAPACKgges_
121: #endif
122: #if !defined(SLEPC_MISSING_LAPACK_GGSVD)
123: #define LAPACKggsvd_ PETSCBLAS(ggsvd,GGSVD)
124: #endif
125: #if !defined(SLEPC_MISSING_LAPACK_GGSVD3)
126: #define LAPACKggsvd3_ PETSCBLAS(ggsvd3,GGSVD3)
127: #endif
128: #if !defined(SLEPC_MISSING_LAPACK_TREVC)
129: #define LAPACKtrevc_ PETSCBLAS(trevc,TREVC)
130: #endif
131: #define LAPACKgeevx_ PETSCBLAS(geevx,GEEVX)
132: #define LAPACKgees_ PETSCBLAS(gees,GEES)
133: #if !defined(SLEPC_MISSING_LAPACK_TREXC)
134: #define LAPACKtrexc_ PETSCBLAS(trexc,TREXC)
135: #endif
136: #define LAPACKgesdd_ PETSCBLAS(gesdd,GESDD)
137: #if !defined(SLEPC_MISSING_LAPACK_TGEVC)
138: #define LAPACKtgevc_ PETSCBLAS(tgevc,TGEVC)
139: #endif
140: #if !defined(SLEPC_MISSING_LAPACK_HSEIN)
141: #define LAPACKhsein_ PETSCBLAS(hsein,HSEIN)
142: #endif
143: #if !defined(SLEPC_MISSING_LAPACK_STEDC)
144: #define LAPACKstedc_ PETSCBLAS(stedc,STEDC)
145: #endif
146: #if !defined(SLEPC_MISSING_LAPACK_LASCL)
147: #define LAPACKlascl_ PETSCBLAS(lascl,LASCL)
148: #endif
149: #if !defined(SLEPC_MISSING_LAPACK_BDSQR)
150: #define LAPACKbdsqr_ PETSCBLAS(bdsqr,BDSQR)
151: #endif
152: #if !defined(SLEPC_MISSING_LAPACK_GEBRD)
153: #define LAPACKgebrd_ PETSCBLAS(gebrd,GEBRD)
154: #endif
156: #if defined(PETSC_HAVE_COMPLEX)
157: /* complex subroutines to be called with scalar-type=real */
158: #define BLASCOMPLEXgemm_ PETSCBLASCOMPLEX(gemm,GEMM)
159: #define BLASCOMPLEXscal_ PETSCBLASCOMPLEX(scal,SCAL)
160: #define LAPACKCOMPLEXgesv_ PETSCBLASCOMPLEX(gesv,GESV)
161: #endif