| 6 |
dsic.upv.es!jroman |
1 |
/*
|
| 460 |
dsic.upv.es!antodo |
2 |
|
| 6 |
dsic.upv.es!jroman |
3 |
Necessary routines in BLAS and LAPACK not included in petscblaslapack.f
|
|
|
4 |
|
|
|
5 |
*/
|
|
|
6 |
#if !defined(_SLEPCBLASLAPACK_H)
|
|
|
7 |
#define _SLEPCBLASLAPACK_H
|
|
|
8 |
#include "petscblaslapack.h"
|
| 476 |
dsic.upv.es!antodo |
9 |
PETSC_EXTERN_CXX_BEGIN
|
| 6 |
dsic.upv.es!jroman |
10 |
|
| 895 |
dsic.upv.es!antodo |
11 |
|
| 806 |
dsic.upv.es!antodo |
12 |
#if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_UNDERSCORE)
|
| 895 |
dsic.upv.es!antodo |
13 |
#if defined(PETSC_USE_SINGLE)
|
|
|
14 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) s##lcase##_
|
| 806 |
dsic.upv.es!antodo |
15 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
16 |
#define SLEPC_BLASLAPACK(lcase,ucase) c##lcase##_
|
| 6 |
dsic.upv.es!jroman |
17 |
#else
|
| 895 |
dsic.upv.es!antodo |
18 |
#define SLEPC_BLASLAPACK(lcase,ucase) s##lcase##_
|
| 6 |
dsic.upv.es!jroman |
19 |
#endif
|
| 495 |
dsic.upv.es!antodo |
20 |
#else
|
| 895 |
dsic.upv.es!antodo |
21 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) d##lcase##_
|
|
|
22 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
23 |
#define SLEPC_BLASLAPACK(lcase,ucase) z##lcase##_
|
| 806 |
dsic.upv.es!antodo |
24 |
#else
|
|
|
25 |
#define SLEPC_BLASLAPACK(lcase,ucase) d##lcase##_
|
| 495 |
dsic.upv.es!antodo |
26 |
#endif
|
| 806 |
dsic.upv.es!antodo |
27 |
#endif
|
| 895 |
dsic.upv.es!antodo |
28 |
|
| 806 |
dsic.upv.es!antodo |
29 |
#elif defined(PETSC_HAVE_FORTRAN_CAPS)
|
| 895 |
dsic.upv.es!antodo |
30 |
#if defined(PETSC_USE_SINGLE)
|
|
|
31 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) S##ucase
|
| 806 |
dsic.upv.es!antodo |
32 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
33 |
#define SLEPC_BLASLAPACK(lcase,ucase) C##ucase
|
| 495 |
dsic.upv.es!antodo |
34 |
#else
|
| 895 |
dsic.upv.es!antodo |
35 |
#define SLEPC_BLASLAPACK(lcase,ucase) S##ucase
|
| 806 |
dsic.upv.es!antodo |
36 |
#endif
|
| 495 |
dsic.upv.es!antodo |
37 |
#else
|
| 895 |
dsic.upv.es!antodo |
38 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) D##ucase
|
|
|
39 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
40 |
#define SLEPC_BLASLAPACK(lcase,ucase) Z##ucase
|
| 806 |
dsic.upv.es!antodo |
41 |
#else
|
|
|
42 |
#define SLEPC_BLASLAPACK(lcase,ucase) D##ucase
|
| 495 |
dsic.upv.es!antodo |
43 |
#endif
|
|
|
44 |
#endif
|
| 895 |
dsic.upv.es!antodo |
45 |
|
| 495 |
dsic.upv.es!antodo |
46 |
#else
|
| 895 |
dsic.upv.es!antodo |
47 |
#if defined(PETSC_USE_SINGLE)
|
|
|
48 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) s##lcase
|
| 806 |
dsic.upv.es!antodo |
49 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
50 |
#define SLEPC_BLASLAPACK(lcase,ucase) c##lcase
|
| 6 |
dsic.upv.es!jroman |
51 |
#else
|
| 895 |
dsic.upv.es!antodo |
52 |
#define SLEPC_BLASLAPACK(lcase,ucase) s##lcase
|
| 6 |
dsic.upv.es!jroman |
53 |
#endif
|
|
|
54 |
#else
|
| 895 |
dsic.upv.es!antodo |
55 |
#define SLEPC_BLASLAPACKREAL(lcase,ucase) d##lcase
|
|
|
56 |
#if defined(PETSC_USE_COMPLEX)
|
|
|
57 |
#define SLEPC_BLASLAPACK(lcase,ucase) z##lcase
|
| 489 |
dsic.upv.es!antodo |
58 |
#else
|
| 806 |
dsic.upv.es!antodo |
59 |
#define SLEPC_BLASLAPACK(lcase,ucase) d##lcase
|
| 6 |
dsic.upv.es!jroman |
60 |
#endif
|
| 495 |
dsic.upv.es!antodo |
61 |
#endif
|
| 895 |
dsic.upv.es!antodo |
62 |
|
| 6 |
dsic.upv.es!jroman |
63 |
#endif
|
|
|
64 |
|
| 784 |
dsic.upv.es!antodo |
65 |
#define LAPACKlaev2_ SLEPC_BLASLAPACK(laev2,LAEV2)
|
|
|
66 |
#define LAPACKgehrd_ SLEPC_BLASLAPACK(gehrd,GEHRD)
|
|
|
67 |
#define LAPACKlanhs_ SLEPC_BLASLAPACK(lanhs,LANHS)
|
|
|
68 |
#define LAPACKlange_ SLEPC_BLASLAPACK(lange,LANGE)
|
|
|
69 |
#define LAPACKgetri_ SLEPC_BLASLAPACK(getri,GETRI)
|
|
|
70 |
#define LAPACKhseqr_ SLEPC_BLASLAPACK(hseqr,HSEQR)
|
|
|
71 |
#define LAPACKtrexc_ SLEPC_BLASLAPACK(trexc,TREXC)
|
|
|
72 |
#define LAPACKtrevc_ SLEPC_BLASLAPACK(trevc,TREVC)
|
|
|
73 |
#define LAPACKsteqr_ SLEPC_BLASLAPACK(steqr,STEQR)
|
|
|
74 |
#define LAPACKgeevx_ SLEPC_BLASLAPACK(geevx,GEEVX)
|
|
|
75 |
#define LAPACKggevx_ SLEPC_BLASLAPACK(ggevx,GEEVX)
|
| 489 |
dsic.upv.es!antodo |
76 |
|
| 646 |
dsic.upv.es!antodo |
77 |
#if !defined(PETSC_USE_COMPLEX)
|
| 784 |
dsic.upv.es!antodo |
78 |
#define LAPACKorghr_ SLEPC_BLASLAPACK(orghr,ORGHR)
|
|
|
79 |
#define LAPACKsyevr_ SLEPC_BLASLAPACK(syevr,SYEVR)
|
|
|
80 |
#define LAPACKsygvd_ SLEPC_BLASLAPACK(sygvd,SYGVD)
|
| 646 |
dsic.upv.es!antodo |
81 |
#else
|
| 784 |
dsic.upv.es!antodo |
82 |
#define LAPACKorghr_ SLEPC_BLASLAPACK(unghr,UNGHR)
|
|
|
83 |
#define LAPACKsyevr_ SLEPC_BLASLAPACK(heevr,HEEVR)
|
|
|
84 |
#define LAPACKsygvd_ SLEPC_BLASLAPACK(hegvd,HEGVD)
|
| 646 |
dsic.upv.es!antodo |
85 |
#endif
|
|
|
86 |
|
| 895 |
dsic.upv.es!antodo |
87 |
#define LAPACKlamch_ SLEPC_BLASLAPACKREAL(lamch,LAMCH)
|
|
|
88 |
#define LAPACKstevr_ SLEPC_BLASLAPACKREAL(stevr,stevr)
|
|
|
89 |
|
| 6 |
dsic.upv.es!jroman |
90 |
EXTERN_C_BEGIN
|
|
|
91 |
|
| 895 |
dsic.upv.es!antodo |
92 |
EXTERN PetscReal LAPACKlamch_(const char*,PetscBLASInt);
|
|
|
93 |
EXTERN PetscReal LAPACKlanhs_(const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt);
|
|
|
94 |
EXTERN PetscReal LAPACKlange_(const char*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt);
|
| 784 |
dsic.upv.es!antodo |
95 |
EXTERN void LAPACKlaev2_(PetscScalar*,PetscScalar*,PetscScalar*,PetscReal*,PetscReal*,PetscReal*,PetscScalar*);
|
|
|
96 |
EXTERN void LAPACKgehrd_(PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
|
|
|
97 |
EXTERN void LAPACKorghr_(PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
|
|
|
98 |
EXTERN void LAPACKgetri_(PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*);
|
| 895 |
dsic.upv.es!antodo |
99 |
EXTERN void LAPACKstevr_(const char*,const char*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
| 460 |
dsic.upv.es!antodo |
100 |
|
| 6 |
dsic.upv.es!jroman |
101 |
#if !defined(PETSC_USE_COMPLEX)
|
| 784 |
dsic.upv.es!antodo |
102 |
EXTERN void LAPACKhseqr_(const char*,const char*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
|
|
103 |
EXTERN void LAPACKtrexc_(const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt);
|
|
|
104 |
EXTERN void LAPACKtrevc_(const char*,const char*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
|
|
105 |
EXTERN void LAPACKgeevx_(const char*,const char*,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
106 |
EXTERN void LAPACKggevx_(const char*,const char*,const char*,const char*,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*,PetscBLASInt,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
107 |
EXTERN void LAPACKsyevr_(const char*,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
108 |
EXTERN void LAPACKsygvd_(PetscBLASInt*,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
| 6 |
dsic.upv.es!jroman |
109 |
#else
|
| 784 |
dsic.upv.es!antodo |
110 |
EXTERN void LAPACKhseqr_(const char*,const char*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
|
|
111 |
EXTERN void LAPACKtrexc_(const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt);
|
|
|
112 |
EXTERN void LAPACKtrevc_(const char*,const char*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscReal*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
|
|
113 |
EXTERN void LAPACKgeevx_(const char*,const char*,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscReal*,PetscReal*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
114 |
EXTERN void LAPACKggevx_(const char*,const char*,const char*,const char*,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*,PetscBLASInt,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
115 |
EXTERN void LAPACKsyevr_(const char *,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscBLASInt*, PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt,PetscBLASInt);
|
|
|
116 |
EXTERN void LAPACKsygvd_(PetscBLASInt*,const char*,const char*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscBLASInt,PetscBLASInt);
|
| 6 |
dsic.upv.es!jroman |
117 |
#endif
|
|
|
118 |
|
| 895 |
dsic.upv.es!antodo |
119 |
|
| 6 |
dsic.upv.es!jroman |
120 |
EXTERN_C_END
|
|
|
121 |
|
| 476 |
dsic.upv.es!antodo |
122 |
PETSC_EXTERN_CXX_END
|
| 6 |
dsic.upv.es!jroman |
123 |
#endif
|