X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/31fc9af64d1481ab1c2f368c2d689c68170e425c..14dbe48f4f9623cf72fc207b7c2041b9f611972a:/src/bindings/lua/lua_platf.cpp diff --git a/src/bindings/lua/lua_platf.cpp b/src/bindings/lua/lua_platf.cpp index 4f7507b33c..41c9a2cb4d 100644 --- a/src/bindings/lua/lua_platf.cpp +++ b/src/bindings/lua/lua_platf.cpp @@ -12,7 +12,10 @@ #include "surf/surf_routing.h" #include #include + +extern "C" { #include +} #include #include "src/surf/surf_private.h" @@ -82,7 +85,7 @@ int console_add_backbone(lua_State *L) { if (type != LUA_TSTRING && type != LUA_TNUMBER) { XBT_ERROR("Attribute 'bandwidth' must be specified for backbone and must either be a string (in the right format; see docs) or a number."); } - link.bandwidth = surf_parse_get_bandwidth(lua_tostring(L, -1)); + link.bandwidth = surf_parse_get_bandwidth(lua_tostring(L, -1),"bandwidth of backbone",link.id); lua_pop(L, 1); lua_pushstring(L, "lat"); @@ -90,7 +93,7 @@ int console_add_backbone(lua_State *L) { if (type != LUA_TSTRING && type != LUA_TNUMBER) { XBT_ERROR("Attribute 'lat' must be specified for backbone and must either be a string (in the right format; see docs) or a number."); } - link.latency = surf_parse_get_time(lua_tostring(L, -1)); + link.latency = surf_parse_get_time(lua_tostring(L, -1),"latency of backbone",link.id); lua_pop(L, 1); link.initiallyOn = 1; @@ -169,7 +172,7 @@ int console_add_host(lua_State *L) { // get Id Value lua_pushstring(L, "id"); type = lua_gettable(L, -2); - if (type != LUA_TSTRING && type != LUA_TNUMBER) { + if (type != LUA_TSTRING) { XBT_ERROR("Attribute 'id' must be specified for any host and must be a string."); } host.id = lua_tostring(L, -1); @@ -182,7 +185,10 @@ int console_add_host(lua_State *L) { XBT_ERROR("Attribute 'speed' must be specified for host and must either be a string (in the correct format; check documentation) or a number."); } host.speed_peak = xbt_dynar_new(sizeof(double), NULL); - xbt_dynar_push_as(host.speed_peak, double, parse_cpu_speed(lua_tostring(L, -1))); + if (type == LUA_TNUMBER) + xbt_dynar_push_as(host.speed_peak, double, lua_tointeger(L, -1)); + else // LUA_TSTRING + xbt_dynar_push_as(host.speed_peak, double, surf_parse_get_speed(lua_tostring(L, -1), "speed of host", host.id)); lua_pop(L, 1); // get core @@ -260,7 +266,10 @@ int console_add_link(lua_State *L) { if (type != LUA_TSTRING && type != LUA_TNUMBER) { XBT_ERROR("Attribute 'bandwidth' must be specified for any link and must either be either a string (in the right format; see docs) or a number."); } - link.bandwidth = surf_parse_get_bandwidth(lua_tostring(L, -1)); + if (type == LUA_TNUMBER) + link.bandwidth = lua_tonumber(L, -1); + else // LUA_TSTRING + link.bandwidth = surf_parse_get_bandwidth(lua_tostring(L, -1),"bandwidth of link", link.id); lua_pop(L, 1); //get latency value @@ -269,7 +278,10 @@ int console_add_link(lua_State *L) { if (type != LUA_TSTRING && type != LUA_TNUMBER) { XBT_ERROR("Attribute 'lat' must be specified for any link and must either be a string (in the right format; see docs) or a number."); } - link.latency = surf_parse_get_time(lua_tostring(L, -1)); + if (type == LUA_TNUMBER) + link.latency = lua_tonumber(L, -1); + else // LUA_TSTRING + link.latency = surf_parse_get_time(lua_tostring(L, -1),"latency of link", link.id); lua_pop(L, 1); /*Optional Arguments */