aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench/btl/libs/STL/STL_interface.hh
diff options
context:
space:
mode:
Diffstat (limited to 'bench/btl/libs/STL/STL_interface.hh')
-rw-r--r--bench/btl/libs/STL/STL_interface.hh33
1 files changed, 18 insertions, 15 deletions
diff --git a/bench/btl/libs/STL/STL_interface.hh b/bench/btl/libs/STL/STL_interface.hh
index 0b73382f3..93e76bd55 100644
--- a/bench/btl/libs/STL/STL_interface.hh
+++ b/bench/btl/libs/STL/STL_interface.hh
@@ -78,18 +78,18 @@ public :
cible[i][j]=source[i][j];
}
- static inline void ata_product(const gene_matrix & A, gene_matrix & X, int N)
- {
- real somme;
- for (int j=0;j<N;j++){
- for (int i=0;i<N;i++){
- somme=0.0;
- for (int k=0;k<N;k++)
- somme += A[i][k]*A[j][k];
- X[j][i]=somme;
- }
- }
- }
+// static inline void ata_product(const gene_matrix & A, gene_matrix & X, int N)
+// {
+// real somme;
+// for (int j=0;j<N;j++){
+// for (int i=0;i<N;i++){
+// somme=0.0;
+// for (int k=0;k<N;k++)
+// somme += A[i][k]*A[j][k];
+// X[j][i]=somme;
+// }
+// }
+// }
static inline void aat_product(const gene_matrix & A, gene_matrix & X, int N)
{
@@ -97,10 +97,13 @@ public :
for (int j=0;j<N;j++){
for (int i=0;i<N;i++){
somme=0.0;
- for (int k=0;k<N;k++){
- somme+=A[k][i]*A[k][j];
+ if(i>=j)
+ {
+ for (int k=0;k<N;k++){
+ somme+=A[k][i]*A[k][j];
+ }
+ X[j][i]=somme;
}
- X[j][i]=somme;
}
}
}