Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cleanup.
[simgrid.git] / src / surf / surfxml_parse.c
index 3d6a122..9ed3fd5 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2013. The SimGrid Team.
+/* Copyright (c) 2006-2014. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -14,6 +14,7 @@
 #include "xbt/dict.h"
 #include "surf/surfxml_parse.h"
 #include "surf/surf_private.h"
+#include "surf/random_mgr.h"
 #include "simgrid/sg_config.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_parse, surf,
@@ -54,7 +55,7 @@ double surf_parse_get_double(const char *string) {
   int ret = sscanf(string, "%lg", &res);
   if (ret != 1)
     surf_parse_error("%s is not a double", string);
-  //printf("Parsed double [%lg] %s\n", res, string);  
+  //printf("Parsed double [%g] %s\n", res, string);
   return res;
 }
 
@@ -450,7 +451,7 @@ void ETag_surfxml_host(void)    {
                  xbt_str_trim(power_value_str, NULL);
                  power_value = get_cpu_power(power_value_str);
                  xbt_dynar_push_as(host.power_peak, double, power_value);
-                 XBT_DEBUG("Power value: %lf", power_value);
+                 XBT_DEBUG("Power value: %f", power_value);
          }
          xbt_dynar_free(&pstate_list);
   }
@@ -519,6 +520,20 @@ void ETag_surfxml_cluster(void){
     cluster.loopback_bw = surf_parse_get_bandwidth(A_surfxml_cluster_loopback___bw);
   if(strcmp(A_surfxml_cluster_loopback___lat,""))
     cluster.loopback_lat = surf_parse_get_time(A_surfxml_cluster_loopback___lat);
+
+  switch(AX_surfxml_cluster_topology){
+  case A_surfxml_cluster_topology_FLAT:
+    cluster.topology= SURF_CLUSTER_FLAT ;
+    break;
+  case A_surfxml_cluster_topology_TORUS:
+    cluster.topology= SURF_CLUSTER_TORUS ;
+    break;
+  default:
+    surf_parse_error("Invalid cluster topology for cluster %s",
+                     cluster.id);
+    break;
+  }
+  cluster.topo_parameters = A_surfxml_cluster_topo___parameters;
   cluster.router_id = A_surfxml_cluster_router___id;
 
   switch (AX_surfxml_cluster_sharing___policy) {
@@ -602,10 +617,10 @@ void ETag_surfxml_link(void){
 
   link.id = A_surfxml_link_id;
   link.bandwidth = surf_parse_get_bandwidth(A_surfxml_link_bandwidth);
-  //printf("Link bandwidth [%lg]\n", link.bandwidth);  
+  //printf("Link bandwidth [%g]\n", link.bandwidth);
   link.bandwidth_trace = tmgr_trace_new_from_file(A_surfxml_link_bandwidth___file);
   link.latency = surf_parse_get_time(A_surfxml_link_latency);
-  //printf("Link latency [%lg]\n", link.latency);  
+  //printf("Link latency [%g]\n", link.latency);
   link.latency_trace = tmgr_trace_new_from_file(A_surfxml_link_latency___file);
 
   switch (A_surfxml_link_state) {