Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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