Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Modify the examples and tests to cope with the new return type of
authorsuter <suter@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 11 Jun 2010 15:28:48 +0000 (15:28 +0000)
committersuter <suter@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 11 Jun 2010 15:28:48 +0000 (15:28 +0000)
SD_Simulate

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7841 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/simdag/sd_seq_access.c
examples/simdag/sd_test.c
testsuite/simdag/sd_test.c

index ba45eb4..a0eb553 100644 (file)
@@ -20,7 +20,7 @@ int main(int argc, char **argv)
   const SD_workstation_t *workstations;
   int kind;
   SD_task_t task, taskA, taskB, taskC;
   const SD_workstation_t *workstations;
   int kind;
   SD_task_t task, taskA, taskB, taskC;
-  SD_task_t *changed_tasks;
+  xbt_dynar_t changed_tasks;
   SD_workstation_t workstation_list[2];
   double computation_amount[2];
   double communication_amount[4] = { 0 };
   SD_workstation_t workstation_list[2];
   double computation_amount[2];
   double communication_amount[4] = { 0 };
@@ -86,7 +86,7 @@ int main(int argc, char **argv)
                    &(computation_amount[1]), SD_SCHED_NO_COST, rate);
 
   /* let's launch the simulation! */
                    &(computation_amount[1]), SD_SCHED_NO_COST, rate);
 
   /* let's launch the simulation! */
-  while(*(changed_tasks = SD_simulate(-1.0))){
+  while(xbt_dynar_length(changed_tasks = SD_simulate(-1.0))>0){
     for(i=0;i<2; i++){
       task = SD_workstation_get_current_task(workstations[i]);
       if (task)
     for(i=0;i<2; i++){
       task = SD_workstation_get_current_task(workstations[i]);
       if (task)
@@ -116,7 +116,7 @@ int main(int argc, char **argv)
        ERROR0("Shouldn't be here");
       }
     }
        ERROR0("Shouldn't be here");
       }
     }
-    xbt_free(changed_tasks);
+    xbt_dynar_free_container(&changed_tasks);
   }
 
   DEBUG0("Destroying tasks...");
   }
 
   DEBUG0("Destroying tasks...");
index bb25059..e5bf6d4 100644 (file)
@@ -26,8 +26,8 @@ int main(int argc, char **argv)
   double communication_amount21;
   const SD_link_t *route;
   int route_size;
   double communication_amount21;
   const SD_link_t *route;
   int route_size;
-  SD_task_t task, taskA, taskB, taskC, taskD;
-  SD_task_t *changed_tasks;
+  SD_task_t task, taskA, taskB, taskC, taskD, checkB, checkD;
+  xbt_dynar_t changed_tasks;
   xbt_ex_t ex;
   const int workstation_number = 2;
   SD_workstation_t workstation_list[2];
   xbt_ex_t ex;
   const int workstation_number = 2;
   SD_workstation_t workstation_list[2];
@@ -36,7 +36,7 @@ int main(int argc, char **argv)
   double rate = -1.0;
   SD_workstation_t w1, w2;
 
   double rate = -1.0;
   SD_workstation_t w1, w2;
 
-  /* initialisation of SD */
+  /* initialization of SD */
   SD_init(&argc, argv);
 
   /*  xbt_log_control_set("sd.thres=debug"); */
   SD_init(&argc, argv);
 
   /*  xbt_log_control_set("sd.thres=debug"); */
@@ -176,18 +176,20 @@ int main(int argc, char **argv)
                    computation_amount, communication_amount, rate);
 
   changed_tasks = SD_simulate(-1.0);
                    computation_amount, communication_amount, rate);
 
   changed_tasks = SD_simulate(-1.0);
-  for (i = 0; changed_tasks[i] != NULL; i++) {
-    INFO3("Task '%s' start time: %f, finish time: %f",
-          SD_task_get_name(changed_tasks[i]),
-          SD_task_get_start_time(changed_tasks[i]),
-          SD_task_get_finish_time(changed_tasks[i]));
+  xbt_dynar_foreach(changed_tasks, i, task){
+                 INFO3("Task '%s' start time: %f, finish time: %f",
+          SD_task_get_name(task),
+          SD_task_get_start_time(task),
+          SD_task_get_finish_time(task));
   }
 
   }
 
-  xbt_assert0(changed_tasks[0] == taskD &&
-              changed_tasks[1] == taskB &&
-              changed_tasks[2] == NULL, "Unexpected simulation results");
+  xbt_dynar_get_cpy(changed_tasks, 0, &checkD);
+  xbt_dynar_get_cpy(changed_tasks, 1, &checkB);
 
 
-  xbt_free(changed_tasks);
+  xbt_assert0(checkD == taskD &&
+              checkB == taskB, "Unexpected simulation results");
+
+  xbt_dynar_free_container(&changed_tasks);
 
   DEBUG0("Destroying tasks...");
 
 
   DEBUG0("Destroying tasks...");
 
index 44d3680..f3453b7 100644 (file)
@@ -30,9 +30,9 @@ int main(int argc, char **argv)
   const SD_link_t *route;
   int route_size;
   SD_task_t taskA;
   const SD_link_t *route;
   int route_size;
   SD_task_t taskA;
-  SD_task_t taskB;
-  SD_task_t taskC;
-  SD_task_t taskD;
+  SD_task_t taskB, checkB;
+  SD_task_t taskC, checkC;
+  SD_task_t taskD, checkD;
   xbt_ex_t ex;
 
   /* initialisation of SD */
   xbt_ex_t ex;
 
   /* initialisation of SD */
@@ -142,7 +142,7 @@ int main(int argc, char **argv)
       0, communication_amount12,
       communication_amount21, 0
     };
       0, communication_amount12,
       communication_amount21, 0
     };
-    SD_task_t *changed_tasks;
+    xbt_dynar_t changed_tasks;
     double rate = -1.0;
 
     /* estimated time */
     double rate = -1.0;
 
     /* estimated time */
@@ -164,12 +164,16 @@ int main(int argc, char **argv)
                      computation_amount, communication_amount, rate);
 
     changed_tasks = SD_simulate(-1.0);
                      computation_amount, communication_amount, rate);
 
     changed_tasks = SD_simulate(-1.0);
-    xbt_assert0(changed_tasks[0] == taskD &&
-                changed_tasks[1] == taskC &&
-                changed_tasks[2] == taskB &&
-                changed_tasks[3] == NULL, "Unexpected simulation results");
 
 
-    xbt_free(changed_tasks);
+    xbt_dynar_get_cpy(changed_tasks, 0, &checkD);
+    xbt_dynar_get_cpy(changed_tasks, 1, &checkC);
+    xbt_dynar_get_cpy(changed_tasks, 2, &checkB);
+    xbt_assert0(checkD == taskD &&
+                checkC == taskC &&
+                checkB == taskB, "Unexpected simulation results");
+
+    xbt_dynar_free_container(&changed_tasks);
   }
   DEBUG0("Destroying tasks...");
 
   }
   DEBUG0("Destroying tasks...");