diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-08-25 14:23:08 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-08-25 14:23:08 +0000 |
commit | 7ce70e143734942bf4e7dcfe5f5af957e5e5009e (patch) | |
tree | 77cb0ab7655aff42f4270ef0dd90aa5925329637 /bench/btl/libs/C_BLAS | |
parent | d2b345e6a9190d110d0366f1f708be492847b4f9 (diff) |
various updates in BTL
Diffstat (limited to 'bench/btl/libs/C_BLAS')
-rw-r--r-- | bench/btl/libs/C_BLAS/C_BLAS_interface.hh | 10 | ||||
-rw-r--r-- | bench/btl/libs/C_BLAS/main.cpp | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/bench/btl/libs/C_BLAS/C_BLAS_interface.hh b/bench/btl/libs/C_BLAS/C_BLAS_interface.hh index 21d9bde1a..d0148a29d 100644 --- a/bench/btl/libs/C_BLAS/C_BLAS_interface.hh +++ b/bench/btl/libs/C_BLAS/C_BLAS_interface.hh @@ -253,6 +253,16 @@ public : #endif } + static inline void trisolve_lower_matrix(const gene_matrix & L, const gene_matrix& B, gene_matrix & X, int N){ + #ifdef PUREBLAS + scopy_(&N, B, &intone, X, &intone); + strsv_(&lower, ¬rans, &nonunit, &N, L, &N, X, &intone); + #else + cblas_scopy(N, B, 1, X, 1); + cblas_strsm(CblasColMajor, CblasRight, CblasLower, CblasNoTrans, CblasNonUnit, N, N, 1, L, N, X, N); + #endif + } + }; diff --git a/bench/btl/libs/C_BLAS/main.cpp b/bench/btl/libs/C_BLAS/main.cpp index 21da0b4aa..10faf4a0b 100644 --- a/bench/btl/libs/C_BLAS/main.cpp +++ b/bench/btl/libs/C_BLAS/main.cpp @@ -24,6 +24,7 @@ #include "action_cholesky.hh" #include "action_lu_decomp.hh" +#include "action_trisolve_matrix.hh" #ifdef HAS_LAPACK #include "action_hessenberg.hh" @@ -45,6 +46,7 @@ int main() bench<Action_aat_product<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); bench<Action_trisolve<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); + bench<Action_trisolve_matrix<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); bench<Action_cholesky<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT); |