aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/libs/C_BLAS
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-08-25 14:23:08 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-08-25 14:23:08 +0000
commit7ce70e143734942bf4e7dcfe5f5af957e5e5009e (patch)
tree77cb0ab7655aff42f4270ef0dd90aa5925329637 /bench/btl/libs/C_BLAS
parentd2b345e6a9190d110d0366f1f708be492847b4f9 (diff)
various updates in BTL
Diffstat (limited to 'bench/btl/libs/C_BLAS')
-rw-r--r--bench/btl/libs/C_BLAS/C_BLAS_interface.hh10
-rw-r--r--bench/btl/libs/C_BLAS/main.cpp2
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, &notrans, &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);