| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifndef blas_PRODUIT_MATRICE_VECTEUR_HH |
| #define blas_PRODUIT_MATRICE_VECTEUR_HH |
|
|
| #include <c_interface_base.h> |
| #include <complex> |
| extern "C" |
| { |
| #include "blas.h" |
|
|
| |
| |
| |
| void ssytrd_(char *uplo, const int *n, float *a, const int *lda, float *d, float *e, float *tau, float *work, int *lwork, int *info ); |
| void dsytrd_(char *uplo, const int *n, double *a, const int *lda, double *d, double *e, double *tau, double *work, int *lwork, int *info ); |
| void sgehrd_( const int *n, int *ilo, int *ihi, float *a, const int *lda, float *tau, float *work, int *lwork, int *info ); |
| void dgehrd_( const int *n, int *ilo, int *ihi, double *a, const int *lda, double *tau, double *work, int *lwork, int *info ); |
|
|
| |
| |
| |
| |
| void sgetc2_(const int* n, float *a, const int *lda, int *ipiv, int *jpiv, int*info ); |
| void dgetc2_(const int* n, double *a, const int *lda, int *ipiv, int *jpiv, int*info ); |
| #ifdef HAS_LAPACK |
| #endif |
| } |
|
|
| #define MAKE_STRING2(S) #S |
| #define MAKE_STRING(S) MAKE_STRING2(S) |
|
|
| #define CAT2(A,B) A##B |
| #define CAT(A,B) CAT2(A,B) |
|
|
|
|
| template<class real> class blas_interface; |
|
|
|
|
| static char notrans = 'N'; |
| static char trans = 'T'; |
| static char nonunit = 'N'; |
| static char lower = 'L'; |
| static char right = 'R'; |
| static char left = 'L'; |
| static int intone = 1; |
|
|
|
|
|
|
| #define SCALAR float |
| #define SCALAR_PREFIX s |
| #include "blas_interface_impl.hh" |
| #undef SCALAR |
| #undef SCALAR_PREFIX |
|
|
|
|
| #define SCALAR double |
| #define SCALAR_PREFIX d |
| #include "blas_interface_impl.hh" |
| #undef SCALAR |
| #undef SCALAR_PREFIX |
|
|
| #endif |
|
|
|
|
|
|
|
|