Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use standard function fmax() for doubles.
[simgrid.git] / examples / simdag / scheduling / sd_scheduling.c
index 8705836..b1b06aa 100644 (file)
@@ -1,12 +1,13 @@
-/* Copyright (c) 2009-2016. The SimGrid Team.
+/* Copyright (c) 2009-2018. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 /* simple test to schedule a DAX file with the Min-Min algorithm.           */
-#include <string.h>
 #include "simgrid/simdag.h"
+#include <math.h>
+#include <string.h>
 
 #if SIMGRID_HAVE_JEDULE
 #include "simgrid/jedule/jedule_sd_binding.h"
@@ -65,14 +66,14 @@ static xbt_dynar_t get_ready_tasks(xbt_dynar_t dax)
 static double finish_on_at(SD_task_t task, sg_host_t host)
 {
   double result;
-  unsigned int i;
-  double data_available = 0.;
-  double redist_time = 0;
-  double last_data_available;
 
   xbt_dynar_t parents = SD_task_get_parents(task);
 
   if (!xbt_dynar_is_empty(parents)) {
+    unsigned int i;
+    double data_available = 0.;
+    double redist_time    = 0;
+    double last_data_available;
     /* compute last_data_available */
     SD_task_t parent;
     last_data_available = -1.0;
@@ -101,7 +102,7 @@ static double finish_on_at(SD_task_t task, sg_host_t host)
 
     xbt_dynar_free_container(&parents);
 
-    result = MAX(sg_host_get_available_at(host), last_data_available) + SD_task_get_amount(task)/sg_host_speed(host);
+    result = fmax(sg_host_get_available_at(host), last_data_available) + SD_task_get_amount(task) / sg_host_speed(host);
   } else {
     xbt_dynar_free_container(&parents);
 
@@ -216,7 +217,7 @@ int main(int argc, char **argv)
     if (last_scheduled_task && (SD_task_get_state(last_scheduled_task) != SD_DONE) &&
         (SD_task_get_state(last_scheduled_task) != SD_FAILED) &&
         !SD_task_dependency_exists(sg_host_get_last_scheduled_task(selected_host), selected_task))
-      SD_task_dependency_add("resource", NULL, last_scheduled_task, selected_task);
+      SD_task_dependency_add(last_scheduled_task, selected_task);
 
     sg_host_set_last_scheduled_task(selected_host, selected_task);
     sg_host_set_available_at(selected_host, min_finish_time);