aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/libs/C_BLAS
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2009-08-04 11:30:33 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2009-08-04 11:30:33 +0200
commitc2a92e92a6e5aa0bcbb465220a8beb0687c1449a (patch)
treeb3d615aa6875c0d2bdc3778babd42f9e9b1456aa /bench/btl/libs/C_BLAS
parent4bec101470091aae27e7469025c80e31b889f566 (diff)
add ger and lu with partial pivoting in BTL
Diffstat (limited to 'bench/btl/libs/C_BLAS')
-rw-r--r--bench/btl/libs/C_BLAS/C_BLAS_interface.hh8
-rw-r--r--bench/btl/libs/C_BLAS/main.cpp2
2 files changed, 10 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 c8b69883e..725f35944 100644
--- a/bench/btl/libs/C_BLAS/C_BLAS_interface.hh
+++ b/bench/btl/libs/C_BLAS/C_BLAS_interface.hh
@@ -171,6 +171,14 @@ public :
#endif
}
+ static inline void ger(gene_matrix & A, gene_vector & X, gene_vector & Y, int N){
+ #ifdef PUREBLAS
+ sger_(&N,&N,&fone,X,&intone,Y,&intone,A,&N);
+ #else
+ cblas_sger(CblasColMajor,N,N,1.0,X,1,Y,1,A,N);
+ #endif
+ }
+
static inline void atv_product(gene_matrix & A, gene_vector & B, gene_vector & X, int N){
#ifdef PUREBLAS
sgemv_(&trans,&N,&N,&fone,A,&N,B,&intone,&fzero,X,&intone);
diff --git a/bench/btl/libs/C_BLAS/main.cpp b/bench/btl/libs/C_BLAS/main.cpp
index bb3022d3f..6fd75812c 100644
--- a/bench/btl/libs/C_BLAS/main.cpp
+++ b/bench/btl/libs/C_BLAS/main.cpp
@@ -44,6 +44,8 @@ int main()
bench<Action_symv<C_BLAS_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
bench<Action_syr2<C_BLAS_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
+ bench<Action_ger<C_BLAS_interface<REAL_TYPE> > >(MIN_MV,MAX_MV,NB_POINT);
+
bench<Action_matrix_matrix_product<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_ata_product<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);
bench<Action_aat_product<C_BLAS_interface<REAL_TYPE> > >(MIN_MM,MAX_MM,NB_POINT);