double surf_parse_get_bandwidth(const char *string)
{
const struct unit_scale units[] = {
+ { "TiBps", pow(1024, 4) },
+ { "GiBps", pow(1024, 3) },
+ { "MiBps", pow(1024, 2) },
+ { "KiBps", 1024 },
{ "TBps", 1e12 },
{ "GBps", 1e9 },
{ "MBps", 1e6 },
- { "KBps", 1e3 },
+ { "kBps", 1e3 },
{ "Bps", 1.0 },
- { "", 1.0 }, /* default unit is bytes ber second */
- { "tbps", 0.125 * 1e12 },
- { "gbps", 0.125 * 1e9 },
- { "mbps", 0.125 * 1e6 },
+ { "", 1.0 }, /* default unit is bytes per second */
+ { "Tibps", 0.125 * pow(1024, 4) },
+ { "Gibps", 0.125 * pow(1024, 3) },
+ { "Mibps", 0.125 * pow(1024, 2) },
+ { "Kibps", 0.125 * 1024 },
+ { "Tbps", 0.125 * 1e12 },
+ { "Gbps", 0.125 * 1e9 },
+ { "Mbps", 0.125 * 1e6 },
{ "kbps", 0.125 * 1e3 },
{ "bps", 0.125 },
{ NULL, 0 }
{
const struct unit_scale units[] = {
{ "yottaflops", 1e24 },
- { "yf", 1e24 },
+ { "Yf", 1e24 },
{ "zettaflops", 1e21 },
- { "zf", 1e21 },
+ { "Zf", 1e21 },
{ "exaflops", 1e18 },
- { "ef", 1e18 },
+ { "Ef", 1e18 },
{ "petaflops", 1e15 },
- { "pf", 1e15 },
+ { "Pf", 1e15 },
{ "teraflops", 1e12 },
- { "tf", 1e12 },
+ { "Tf", 1e12 },
{ "gigaflops", 1e9 },
- { "gf", 1e9 },
+ { "Gf", 1e9 },
{ "megaflops", 1e6 },
- { "mf", 1e6 },
+ { "Mf", 1e6 },
{ "kiloflops", 1e3 },
{ "kf", 1e3 },
{ "flops", 1.0 },
ASroute.src = A_surfxml_ASroute_src;
ASroute.dst = A_surfxml_ASroute_dst;
- if (!strcmp(current_routing->model_desc->name,"RuleBased")) {
- // DIRTY PERL HACK AHEAD: with the rulebased routing, the {src,dst}_gateway fields
- // store the provided name instead of the entity directly (model_rulebased_parse_ASroute knows)
- //
- // This is because the user will provide something like "^AS_(.*)$" instead of the proper name of a given entity
- ASroute.gw_src = (sg_routing_edge_t) A_surfxml_ASroute_gw___src;
- ASroute.gw_dst = (sg_routing_edge_t) A_surfxml_ASroute_gw___dst;
- } else {
- ASroute.gw_src = sg_routing_edge_by_name_or_null(A_surfxml_ASroute_gw___src);
- ASroute.gw_dst = sg_routing_edge_by_name_or_null(A_surfxml_ASroute_gw___dst);
- }
+ ASroute.gw_src = sg_routing_edge_by_name_or_null(A_surfxml_ASroute_gw___src);
+ ASroute.gw_dst = sg_routing_edge_by_name_or_null(A_surfxml_ASroute_gw___dst);
ASroute.link_list = parsed_link_list;
ASroute.link_list = parsed_link_list;
ASroute.symmetrical = FALSE;
- if (!strcmp(current_routing->model_desc->name,"RuleBased")) {
- // DIRTY PERL HACK AHEAD: with the rulebased routing, the {src,dst}_gateway fields
- // store the provided name instead of the entity directly (model_rulebased_parse_ASroute knows)
- //
- // This is because the user will provide something like "^AS_(.*)$" instead of the proper name of a given entity
- ASroute.gw_src = (sg_routing_edge_t) A_surfxml_bypassASroute_gw___src;
- ASroute.gw_dst = (sg_routing_edge_t) A_surfxml_bypassASroute_gw___dst;
- } else {
- ASroute.gw_src = sg_routing_edge_by_name_or_null(A_surfxml_bypassASroute_gw___src);
- ASroute.gw_dst = sg_routing_edge_by_name_or_null(A_surfxml_bypassASroute_gw___dst);
- }
+ ASroute.gw_src = sg_routing_edge_by_name_or_null(A_surfxml_bypassASroute_gw___src);
+ ASroute.gw_dst = sg_routing_edge_by_name_or_null(A_surfxml_bypassASroute_gw___dst);
sg_platf_new_bypassASroute(&ASroute);
parsed_link_list = NULL;