diff options
author | Gael Guennebaud <g.gael@free.fr> | 2009-08-04 11:30:33 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2009-08-04 11:30:33 +0200 |
commit | c2a92e92a6e5aa0bcbb465220a8beb0687c1449a (patch) | |
tree | b3d615aa6875c0d2bdc3778babd42f9e9b1456aa /bench/btl/libs/C_BLAS | |
parent | 4bec101470091aae27e7469025c80e31b889f566 (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.hh | 8 | ||||
-rw-r--r-- | bench/btl/libs/C_BLAS/main.cpp | 2 |
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); |