X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f650a69e990f02ee0c9b7d273465936bf77bc60a..9cca09ad88fcaeb49f2637de97df519c3920aaa4:/src/surf/xml/surfxml_sax_cb.cpp diff --git a/src/surf/xml/surfxml_sax_cb.cpp b/src/surf/xml/surfxml_sax_cb.cpp index 2b16c03ebc..a84649f4b2 100644 --- a/src/surf/xml/surfxml_sax_cb.cpp +++ b/src/surf/xml/surfxml_sax_cb.cpp @@ -144,9 +144,8 @@ struct unit_scale { }; /* Note: field `unit' for the last element of parameter `units' should be nullptr. */ -static double surf_parse_get_value_with_unit(const char* string, const struct unit_scale* units, - const char* entity_kind, std::string name, const char* error_msg, - const char* default_unit) +static double surf_parse_get_value_with_unit(const char* string, const unit_scale* units, const char* entity_kind, + std::string name, const char* error_msg, const char* default_unit) { char* ptr; int i; @@ -174,113 +173,91 @@ static double surf_parse_get_value_with_unit(const char* string, const struct un double surf_parse_get_time(const char* string, const char* entity_kind, std::string name) { - const struct unit_scale units[] = { - { "w", 7 * 24 * 60 * 60 }, - { "d", 24 * 60 * 60 }, - { "h", 60 * 60 }, - { "m", 60 }, - { "s", 1.0 }, - { "ms", 1e-3 }, - { "us", 1e-6 }, - { "ns", 1e-9 }, - { "ps", 1e-12 }, - { nullptr, 0 } - }; + const unit_scale units[] = {{"w", 7 * 24 * 60 * 60}, + {"d", 24 * 60 * 60}, + {"h", 60 * 60}, + {"m", 60}, + {"s", 1.0}, + {"ms", 1e-3}, + {"us", 1e-6}, + {"ns", 1e-9}, + {"ps", 1e-12}, + {nullptr, 0}}; return surf_parse_get_value_with_unit(string, units, entity_kind, name, "Append 's' to your time to get seconds", "s"); } double surf_parse_get_size(const char* string, const char* entity_kind, std::string name) { - const struct unit_scale units[] = { - { "EiB", pow(1024, 6) }, - { "PiB", pow(1024, 5) }, - { "TiB", pow(1024, 4) }, - { "GiB", pow(1024, 3) }, - { "MiB", pow(1024, 2) }, - { "KiB", 1024 }, - { "EB", 1e18 }, - { "PB", 1e15 }, - { "TB", 1e12 }, - { "GB", 1e9 }, - { "MB", 1e6 }, - { "kB", 1e3 }, - { "B", 1.0 }, - { "Eib", 0.125 * pow(1024, 6) }, - { "Pib", 0.125 * pow(1024, 5) }, - { "Tib", 0.125 * pow(1024, 4) }, - { "Gib", 0.125 * pow(1024, 3) }, - { "Mib", 0.125 * pow(1024, 2) }, - { "Kib", 0.125 * 1024 }, - { "Eb", 0.125 * 1e18 }, - { "Pb", 0.125 * 1e15 }, - { "Tb", 0.125 * 1e12 }, - { "Gb", 0.125 * 1e9 }, - { "Mb", 0.125 * 1e6 }, - { "kb", 0.125 * 1e3 }, - { "b", 0.125 }, - { nullptr, 0 } - }; + const unit_scale units[] = {{"EiB", pow(1024, 6)}, + {"PiB", pow(1024, 5)}, + {"TiB", pow(1024, 4)}, + {"GiB", pow(1024, 3)}, + {"MiB", pow(1024, 2)}, + {"KiB", 1024}, + {"EB", 1e18}, + {"PB", 1e15}, + {"TB", 1e12}, + {"GB", 1e9}, + {"MB", 1e6}, + {"kB", 1e3}, + {"B", 1.0}, + {"Eib", 0.125 * pow(1024, 6)}, + {"Pib", 0.125 * pow(1024, 5)}, + {"Tib", 0.125 * pow(1024, 4)}, + {"Gib", 0.125 * pow(1024, 3)}, + {"Mib", 0.125 * pow(1024, 2)}, + {"Kib", 0.125 * 1024}, + {"Eb", 0.125 * 1e18}, + {"Pb", 0.125 * 1e15}, + {"Tb", 0.125 * 1e12}, + {"Gb", 0.125 * 1e9}, + {"Mb", 0.125 * 1e6}, + {"kb", 0.125 * 1e3}, + {"b", 0.125}, + {nullptr, 0}}; return surf_parse_get_value_with_unit(string, units, entity_kind, name, "Append 'B' to get bytes (or 'b' for bits but 1B = 8b).", "B"); } double surf_parse_get_bandwidth(const char* string, const char* entity_kind, std::string name) { - const struct unit_scale units[] = { - { "EiBps", pow(1024, 6) }, - { "PiBps", pow(1024, 5) }, - { "TiBps", pow(1024, 4) }, - { "GiBps", pow(1024, 3) }, - { "MiBps", pow(1024, 2) }, - { "KiBps", 1024 }, - { "EBps", 1e18 }, - { "PBps", 1e15 }, - { "TBps", 1e12 }, - { "GBps", 1e9 }, - { "MBps", 1e6 }, - { "kBps", 1e3 }, - { "Bps", 1.0 }, - { "Eibps", 0.125 * pow(1024, 6) }, - { "Pibps", 0.125 * pow(1024, 5) }, - { "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 }, - { nullptr, 0 } - }; + const unit_scale units[] = {{"EiBps", pow(1024, 6)}, + {"PiBps", pow(1024, 5)}, + {"TiBps", pow(1024, 4)}, + {"GiBps", pow(1024, 3)}, + {"MiBps", pow(1024, 2)}, + {"KiBps", 1024}, + {"EBps", 1e18}, + {"PBps", 1e15}, + {"TBps", 1e12}, + {"GBps", 1e9}, + {"MBps", 1e6}, + {"kBps", 1e3}, + {"Bps", 1.0}, + {"Eibps", 0.125 * pow(1024, 6)}, + {"Pibps", 0.125 * pow(1024, 5)}, + {"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}, + {nullptr, 0}}; return surf_parse_get_value_with_unit(string, units, entity_kind, name, "Append 'Bps' to get bytes per second (or 'bps' for bits but 1Bps = 8bps)", "Bps"); } double surf_parse_get_speed(const char* string, const char* entity_kind, std::string name) { - const struct unit_scale units[] = { - { "yottaflops", 1e24 }, - { "Yf", 1e24 }, - { "zettaflops", 1e21 }, - { "Zf", 1e21 }, - { "exaflops", 1e18 }, - { "Ef", 1e18 }, - { "petaflops", 1e15 }, - { "Pf", 1e15 }, - { "teraflops", 1e12 }, - { "Tf", 1e12 }, - { "gigaflops", 1e9 }, - { "Gf", 1e9 }, - { "megaflops", 1e6 }, - { "Mf", 1e6 }, - { "kiloflops", 1e3 }, - { "kf", 1e3 }, - { "flops", 1.0 }, - { "f", 1.0 }, - { nullptr, 0 } - }; + const unit_scale units[] = {{"yottaflops", 1e24}, {"Yf", 1e24}, {"zettaflops", 1e21}, {"Zf", 1e21}, + {"exaflops", 1e18}, {"Ef", 1e18}, {"petaflops", 1e15}, {"Pf", 1e15}, + {"teraflops", 1e12}, {"Tf", 1e12}, {"gigaflops", 1e9}, {"Gf", 1e9}, + {"megaflops", 1e6}, {"Mf", 1e6}, {"kiloflops", 1e3}, {"kf", 1e3}, + {"flops", 1.0}, {"f", 1.0}, {nullptr, 0}}; return surf_parse_get_value_with_unit(string, units, entity_kind, name, "Append 'f' or 'flops' to your speed to get flop per second", "f"); }