]> AND Private Git Repository - Cipher_code.git/blobdiff - IDA_new/ida_gf65_paper3.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
[Cipher_code.git] / IDA_new / ida_gf65_paper3.cpp
index 2df3c0d4cf861ab5adb33cd4fb61721d7706a53a..59e91721555b94288e8dc4e10535ce7da5d92b47 100644 (file)
@@ -58,7 +58,7 @@ void display(mylong *mat, int r, int c) {
  printf("\n");
 }
 
  printf("\n");
 }
 
-mylong *matrix_multiply(gf_t *gf, mylong *m1, mylong *m2, int r1, int c1, int r2, int c2, int w)
+mylong *matrix_multiply(gf_t *gf, mylong *m1, mylong *m2, int r1, int c1, int r2, int c2, int w, float *toto)
 {
   mylong *product;
   int i, j, k;
 {
   mylong *product;
   int i, j, k;
@@ -73,6 +73,7 @@ mylong *matrix_multiply(gf_t *gf, mylong *m1, mylong *m2, int r1, int c1, int r2
       }
     }
   }
       }
     }
   }
+  *toto=*toto+0.021;
   return product;
 }
 
   return product;
 }
 
@@ -412,8 +413,6 @@ void saveFile8(mylong *data, const char *fileName,long size_file) {
     
 }
 
     
 }
 
-#define cli() __asm volatile( "cli" ::: "memory" )
-#define sei() __asm volatile( "sei" ::: "memory" )
 
 
 int main(int argc, char **argv)
 
 
 int main(int argc, char **argv)
@@ -505,13 +504,18 @@ int main(int argc, char **argv)
   display(matG, n, t);
 */
 
   display(matG, n, t);
 */
 
+  int nb_iter=10000;
+  
 //  sleep(2);
 //  sleep(2);
+  float toto=0.001;
   auto start = std::chrono::system_clock::now();
   auto start = std::chrono::system_clock::now();
-  matC=matrix_multiply(&gf, matG, matS, n, t, t, len, w);
+  for(int i=0;i<nb_iter;i++) {
+    matC=matrix_multiply(&gf, matG, matS, n, t, t, len, w,&toto);
+  }
   auto end = std::chrono::system_clock::now();
   std::chrono::duration<double> elapsed_seconds = end-start;
   total_time+=elapsed_seconds.count();
   auto end = std::chrono::system_clock::now();
   std::chrono::duration<double> elapsed_seconds = end-start;
   total_time+=elapsed_seconds.count();
-//  cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
+  cout << "elapsed time: " << elapsed_seconds.count() << " "<<toto<<"       ";
 
 //  display(matC,t,t);
 
 
 //  display(matC,t,t);
 
@@ -632,16 +636,17 @@ int main(int argc, char **argv)
 
 //  sleep(2);
   start = std::chrono::system_clock::now();
 
 //  sleep(2);
   start = std::chrono::system_clock::now();
-  for(int i=0;i<1000;i++) {
-    cli();
-    matS2=matrix_multiply(&gf, matInvGs, matCs, t, t, t, len, w);
-    sei();
+   toto=0.001;
+  for(int i=0;i<nb_iter;i++) {
+
+    matS2=matrix_multiply(&gf, matInvGs, matCs, t, t, t, len, w, &toto);
+
   }
   end = std::chrono::system_clock::now();
   elapsed_seconds = end-start;
 //  cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
   total_time+=elapsed_seconds.count();
   }
   end = std::chrono::system_clock::now();
   elapsed_seconds = end-start;
 //  cout << "elapsed time: " << elapsed_seconds.count() << "s\n";
   total_time+=elapsed_seconds.count();
-  cout/*<<"TOTAL TIME : "*/<<total_time;
+  cout/*<<"TOTAL TIME : "*/<<total_time<<" "<<toto;
   
 /*  printf("Matrix S2:\n");
 //  display(matS2, len, t);
   
 /*  printf("Matrix S2:\n");
 //  display(matS2, len, t);