+/* Copyright (c) 2006, 2007, 2008, 2009, 2010. 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. */
+
#include <stdio.h>
#include <stdlib.h>
#include "simdag/simdag.h"
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];
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"); */
task = taskD;
INFO2("Estimated time for '%s': %f", SD_task_get_name(task),
SD_task_get_execution_time(task, workstation_number, workstation_list,
- computation_amount, communication_amount,
- rate));
+ computation_amount, communication_amount));
/* let's launch the simulation! */
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_assert0(checkD == taskD &&
+ checkB == taskB, "Unexpected simulation results");
- xbt_free(changed_tasks);
+ xbt_dynar_free_container(&changed_tasks);
DEBUG0("Destroying tasks...");