Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cleanups and cosmetics
[simgrid.git] / testsuite / surf / simeng_usage.c
index b9aaebf..9ac1673 100644 (file)
@@ -32,7 +32,8 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test,"Messages specific for surf example");
 typedef enum {
   MAXMIN,
   SDP,
-  LAGRANGE
+  LAGRANGE_RENO,
+  LAGRANGE_VEGAS,
 } method_t;
 
 void test1(method_t method);
@@ -48,6 +49,15 @@ void test1(method_t method)
   lmm_variable_t R_2 = NULL;
   lmm_variable_t R_3 = NULL;
 
+  if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
+    lmm_set_default_protocol_function(func_vegas_fpi);
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
+    lmm_set_default_protocol_function(func_reno_fpi);
+  }
+
+
   Sys = lmm_system_new();
   L1 = lmm_constraint_new(Sys, (void *) "L1", 1.0);
   L2 = lmm_constraint_new(Sys, (void *) "L2", 10.0);
@@ -58,6 +68,12 @@ void test1(method_t method)
   R_2 = lmm_variable_new(Sys, (void *) "R 2", 1.0 , -1.0 , 1);
   R_3 = lmm_variable_new(Sys, (void *) "R 3", 1.0 , -1.0 , 1);
 
+  lmm_update_variable_latency(Sys, R_1_2_3, 1.0);
+  lmm_update_variable_latency(Sys,R_1, 1.0);
+  lmm_update_variable_latency(Sys,R_2, 1.0); 
+  lmm_update_variable_latency(Sys,R_3, 1.0);
+
+
   lmm_expand(Sys, L1, R_1_2_3, 1.0);
   lmm_expand(Sys, L2, R_1_2_3, 1.0);
   lmm_expand(Sys, L3, R_1_2_3, 1.0);
@@ -68,22 +84,22 @@ void test1(method_t method)
 
   lmm_expand(Sys, L3, R_3, 1.0);
 
-  PRINT_VAR(R_1_2_3);
-  PRINT_VAR(R_1);
-  PRINT_VAR(R_2);
-  PRINT_VAR(R_3);
 
-  DEBUG0("\n");
-  if(method==MAXMIN)
+  if(method==MAXMIN){
     lmm_solve(Sys);
 #ifdef HAVE_SDP
-  else if(method==SDP)
+  }else if(method==SDP){
     sdp_solve(Sys);    
 #endif
-  else if(method==LAGRANGE)
+  }else if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
+    lagrange_solve(Sys);  
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
     lagrange_solve(Sys);  
-  else 
+  }else{ 
     xbt_assert0(0,"Invalid method");
+  }
 
   PRINT_VAR(R_1_2_3);
   PRINT_VAR(R_1);
@@ -103,6 +119,15 @@ void test2(method_t method)
   lmm_variable_t T1 = NULL;
   lmm_variable_t T2 = NULL;
 
+
+  if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
+    lmm_set_default_protocol_function(func_vegas_fpi);
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
+    lmm_set_default_protocol_function(func_reno_fpi);
+  }
+
   Sys = lmm_system_new();
   CPU1 = lmm_constraint_new(Sys, (void *) "CPU1", 200.0);
   CPU2 = lmm_constraint_new(Sys, (void *) "CPU2", 100.0);
@@ -110,23 +135,30 @@ void test2(method_t method)
   T1 = lmm_variable_new(Sys, (void *) "T1", 1.0 , -1.0 , 1);
   T2 = lmm_variable_new(Sys, (void *) "T2", 1.0 , -1.0 , 1);
 
+  lmm_update_variable_latency(Sys, T1, 1.0);
+  lmm_update_variable_latency(Sys, T2, 1.0);
+
+
   lmm_expand(Sys, CPU1, T1, 1.0);
   lmm_expand(Sys, CPU2, T2, 1.0);
 
-  PRINT_VAR(T1);
-  PRINT_VAR(T2);
 
-  DEBUG0("\n");
-  if(method==MAXMIN)
+
+  if(method==MAXMIN){
     lmm_solve(Sys);
 #ifdef HAVE_SDP
-  else if(method==SDP)
+  }else if(method==SDP){
     sdp_solve(Sys);    
 #endif
-  else if(method==LAGRANGE)
+  }else if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
     lagrange_solve(Sys);  
-  else 
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
+    lagrange_solve(Sys);  
+  }else{ 
     xbt_assert0(0,"Invalid method");
+  }
 
   PRINT_VAR(T1);
   PRINT_VAR(T2);
@@ -156,6 +188,7 @@ void test3(method_t method)
 
   /*array to add the the constraints of fictiv variables */
   double B[15] = {10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+
                1, 1, 1, 1, 1};
 
   A = (double **)calloc(links+5, sizeof(double));
@@ -242,6 +275,14 @@ void test3(method_t method)
   A[14][15] = 1.0;
 
 
+  if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
+    lmm_set_default_protocol_function(func_vegas_fpi);
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
+    lmm_set_default_protocol_function(func_reno_fpi);
+  }
+
   Sys = lmm_system_new();
   
 
@@ -268,6 +309,7 @@ void test3(method_t method)
   for(j=0; j<16; j++){
     sprintf(tmp_name[i+j], "X_%03d", j); 
     tmp_var[j] = lmm_variable_new(Sys, (void *) tmp_name[i+j], 1.0, -1.0 , 15);
+    lmm_update_variable_latency(Sys, tmp_var[j], 1.0);
   }
 
   /*
@@ -282,23 +324,22 @@ void test3(method_t method)
   }
 
 
-  lmm_print(Sys);
-
-
-  for(j=0; j<16; j++){
-    PRINT_VAR(tmp_var[j]);
-  }
 
-  if(method==MAXMIN)
+  if(method==MAXMIN){
     lmm_solve(Sys);
 #ifdef HAVE_SDP
-  else if(method==SDP)
+  }else if(method==SDP){
     sdp_solve(Sys);    
 #endif
-  else if(method==LAGRANGE)
+  }else if(method==LAGRANGE_VEGAS){
+    //set default functions for TCP Vegas
+    lagrange_solve(Sys);  
+  }else if(method==LAGRANGE_RENO){
+    //set default functions for TCP Reno
     lagrange_solve(Sys);  
-  else 
+  }else{ 
     xbt_assert0(0,"Invalid method");
+  }
 
   for(j=0; j<16; j++){
     PRINT_VAR(tmp_var[j]);
@@ -318,35 +359,63 @@ int main(int argc, char **argv)
 {
   xbt_init(&argc,argv);
 
-/*   DEBUG0("***** Test 1 (Max-Min) ***** \n"); */
-/*   test1(MAXMIN); */
-/* #ifdef HAVE_SDP */
-/*   DEBUG0("***** Test 1 (SDP) ***** \n"); */
-/*   test1(SDP); */
-/* #endif */
-/*   DEBUG0("***** Test 1 (Lagrange - dicotomi) ***** \n"); */
-/*   test1(LAGRANGE); */
 
+  DEBUG0("**************************** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("*****      TEST 1      ***** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("**************************** \n");
 
-/*   DEBUG0("***** Test 2 (Max-Min) ***** \n"); */
-/*   test2(MAXMIN); */
-/* #ifdef HAVE_SDP */
-/*   DEBUG0("***** Test 2 (SDP) ***** \n"); */
-/*   test2(SDP); */
-/* #endif */
-/*   DEBUG0("***** Test 2 (Lagrange) ***** \n"); */
-/*   test2(LAGRANGE); */
 
+  DEBUG0("***** Test 1 (Max-Min) ***** \n");
+  test1(MAXMIN);
+#ifdef HAVE_SDP
+  DEBUG0("***** Test 1 (SDP) ***** \n");
+  test1(SDP);
+#endif
+  DEBUG0("***** Test 1 (Lagrange - Vegas) ***** \n");
+  test1(LAGRANGE_VEGAS);
+  DEBUG0("***** Test 1 (Lagrange - Reno) ***** \n");
+  test1(LAGRANGE_RENO);
 
-/*   DEBUG0("***** Test 3 (Max-Min) ***** \n"); */
-/*   test3(MAXMIN); */
+
+  DEBUG0("**************************** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("*****      TEST 2      ***** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("**************************** \n");
+
+
+  DEBUG0("***** Test 2 (Max-Min) ***** \n");
+  test2(MAXMIN);
+#ifdef HAVE_SDP
+  DEBUG0("***** Test 2 (SDP) ***** \n");
+  test2(SDP);
+#endif
+  DEBUG0("***** Test 2 (Lagrange - Vegas) ***** \n");
+  test2(LAGRANGE_VEGAS);
+  DEBUG0("***** Test 2 (Lagrange - Reno) ***** \n");
+  test2(LAGRANGE_RENO);
+
+
+
+  DEBUG0("**************************** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("*****      TEST 3      ***** \n");
+  DEBUG0("*****                  ***** \n");
+  DEBUG0("**************************** \n");
+
+
+  DEBUG0("***** Test 3 (Max-Min) ***** \n");
+  test3(MAXMIN);
 #ifdef HAVE_SDP
   DEBUG0("***** Test 3 (SDP) ***** \n");
   test3(SDP);
 #endif
-  DEBUG0("***** Test 3 (Lagrange) ***** \n");
-  test3(LAGRANGE);
-
+  DEBUG0("***** Test 3 (Lagrange - Vegas) ***** \n");
+  test3(LAGRANGE_VEGAS);
+  DEBUG0("***** Test 3 (Lagrange - Reno) ***** \n");
+  test3(LAGRANGE_RENO);
 
   return 0;
 }