%description: Tests for SimTime::ustr(). %global: // make protected SimTime::resetScale() accessible via subclassing class SimTimeExt : SimTime { public: static void reset() {resetScale();} }; static void test(int scaleExp, int64_t raw) { SimTimeExt::reset(); SimTime::setScaleExp(scaleExp); SimTime t; t.setRaw(raw); try { // check that parsing back ustr() output gives back get the original number EV << t << " --> "; std::string ustr = t.ustr(); EV << ustr << endl; SimTime t2 = SimTime::parse(ustr.c_str()); // FIXME workaround: parse() computes in doubles so it gets the 16th (and later) digits wrong if (t2.raw() == 12345678901234566LL || t2.raw() == 12345678901234568LL) t2.setRaw(12345678901234567LL); if (t2.raw() == -12345678901234566LL || t2.raw() == -12345678901234568LL) t2.setRaw(-12345678901234567LL); if (t != t2) EV << "MISMATCH: " << t << " != \"" << ustr << "\" parsed as " << t2 << endl; if (ustr.length() >= 3 && (ustr.substr(0,2) == "0." || ustr.substr(0,3) == "-0.")) EV << "WRONG UNIT CHOSEN: " << ustr << endl; } catch (std::exception& e) { EV << "EXCEPTION: " << e.what() << endl; } } %activity: for (int scaleExp = -18; scaleExp <= 0; scaleExp++) { EV << "\nscaleExp=" << scaleExp << ":" << endl; test(scaleExp, 0); // positive numbers int64_t raw = 1; for (int i=0; i<17; i++) { test(scaleExp, raw); raw = raw*10 + (i+2)%10; } // negative numbers raw = 1; for (int i=0; i<17; i++) { test(scaleExp, -raw); raw = raw*10 + (i+2)%10; } } EV << ".\n"; %contains: stdout scaleExp=-18: 0 --> 0s 0.000000000000000001 --> 1as 0.000000000000000012 --> 12as 0.000000000000000123 --> 123as 0.000000000000001234 --> 1.234fs 0.000000000000012345 --> 12.345fs 0.000000000000123456 --> 123.456fs 0.000000000001234567 --> 1.234567ps 0.000000000012345678 --> 12.345678ps 0.000000000123456789 --> 123.456789ps 0.00000000123456789 --> 1.23456789ns 0.000000012345678901 --> 12.345678901ns 0.000000123456789012 --> 123.456789012ns 0.000001234567890123 --> 1.234567890123us 0.000012345678901234 --> 12.345678901234us 0.000123456789012345 --> 123.456789012345us 0.001234567890123456 --> 1.234567890123456ms 0.012345678901234567 --> 12.345678901234567ms -0.000000000000000001 --> -1as -0.000000000000000012 --> -12as -0.000000000000000123 --> -123as -0.000000000000001234 --> -1.234fs -0.000000000000012345 --> -12.345fs -0.000000000000123456 --> -123.456fs -0.000000000001234567 --> -1.234567ps -0.000000000012345678 --> -12.345678ps -0.000000000123456789 --> -123.456789ps -0.00000000123456789 --> -1.23456789ns -0.000000012345678901 --> -12.345678901ns -0.000000123456789012 --> -123.456789012ns -0.000001234567890123 --> -1.234567890123us -0.000012345678901234 --> -12.345678901234us -0.000123456789012345 --> -123.456789012345us -0.001234567890123456 --> -1.234567890123456ms -0.012345678901234567 --> -12.345678901234567ms scaleExp=-17: 0 --> 0s 0.00000000000000001 --> 10as 0.00000000000000012 --> 120as 0.00000000000000123 --> 1.23fs 0.00000000000001234 --> 12.34fs 0.00000000000012345 --> 123.45fs 0.00000000000123456 --> 1.23456ps 0.00000000001234567 --> 12.34567ps 0.00000000012345678 --> 123.45678ps 0.00000000123456789 --> 1.23456789ns 0.0000000123456789 --> 12.3456789ns 0.00000012345678901 --> 123.45678901ns 0.00000123456789012 --> 1.23456789012us 0.00001234567890123 --> 12.34567890123us 0.00012345678901234 --> 123.45678901234us 0.00123456789012345 --> 1.23456789012345ms 0.01234567890123456 --> 12.34567890123456ms 0.12345678901234567 --> 123.45678901234567ms -0.00000000000000001 --> -10as -0.00000000000000012 --> -120as -0.00000000000000123 --> -1.23fs -0.00000000000001234 --> -12.34fs -0.00000000000012345 --> -123.45fs -0.00000000000123456 --> -1.23456ps -0.00000000001234567 --> -12.34567ps -0.00000000012345678 --> -123.45678ps -0.00000000123456789 --> -1.23456789ns -0.0000000123456789 --> -12.3456789ns -0.00000012345678901 --> -123.45678901ns -0.00000123456789012 --> -1.23456789012us -0.00001234567890123 --> -12.34567890123us -0.00012345678901234 --> -123.45678901234us -0.00123456789012345 --> -1.23456789012345ms -0.01234567890123456 --> -12.34567890123456ms -0.12345678901234567 --> -123.45678901234567ms scaleExp=-16: 0 --> 0s 0.0000000000000001 --> 100as 0.0000000000000012 --> 1.2fs 0.0000000000000123 --> 12.3fs 0.0000000000001234 --> 123.4fs 0.0000000000012345 --> 1.2345ps 0.0000000000123456 --> 12.3456ps 0.0000000001234567 --> 123.4567ps 0.0000000012345678 --> 1.2345678ns 0.0000000123456789 --> 12.3456789ns 0.000000123456789 --> 123.456789ns 0.0000012345678901 --> 1.2345678901us 0.0000123456789012 --> 12.3456789012us 0.0001234567890123 --> 123.4567890123us 0.0012345678901234 --> 1.2345678901234ms 0.0123456789012345 --> 12.3456789012345ms 0.1234567890123456 --> 123.4567890123456ms 1.2345678901234567 --> 1.2345678901234567s -0.0000000000000001 --> -100as -0.0000000000000012 --> -1.2fs -0.0000000000000123 --> -12.3fs -0.0000000000001234 --> -123.4fs -0.0000000000012345 --> -1.2345ps -0.0000000000123456 --> -12.3456ps -0.0000000001234567 --> -123.4567ps -0.0000000012345678 --> -1.2345678ns -0.0000000123456789 --> -12.3456789ns -0.000000123456789 --> -123.456789ns -0.0000012345678901 --> -1.2345678901us -0.0000123456789012 --> -12.3456789012us -0.0001234567890123 --> -123.4567890123us -0.0012345678901234 --> -1.2345678901234ms -0.0123456789012345 --> -12.3456789012345ms -0.1234567890123456 --> -123.4567890123456ms -1.2345678901234567 --> -1.2345678901234567s scaleExp=-15: 0 --> 0s 0.000000000000001 --> 1fs 0.000000000000012 --> 12fs 0.000000000000123 --> 123fs 0.000000000001234 --> 1.234ps 0.000000000012345 --> 12.345ps 0.000000000123456 --> 123.456ps 0.000000001234567 --> 1.234567ns 0.000000012345678 --> 12.345678ns 0.000000123456789 --> 123.456789ns 0.00000123456789 --> 1.23456789us 0.000012345678901 --> 12.345678901us 0.000123456789012 --> 123.456789012us 0.001234567890123 --> 1.234567890123ms 0.012345678901234 --> 12.345678901234ms 0.123456789012345 --> 123.456789012345ms 1.234567890123456 --> 1.234567890123456s 12.345678901234567 --> 12.345678901234567s -0.000000000000001 --> -1fs -0.000000000000012 --> -12fs -0.000000000000123 --> -123fs -0.000000000001234 --> -1.234ps -0.000000000012345 --> -12.345ps -0.000000000123456 --> -123.456ps -0.000000001234567 --> -1.234567ns -0.000000012345678 --> -12.345678ns -0.000000123456789 --> -123.456789ns -0.00000123456789 --> -1.23456789us -0.000012345678901 --> -12.345678901us -0.000123456789012 --> -123.456789012us -0.001234567890123 --> -1.234567890123ms -0.012345678901234 --> -12.345678901234ms -0.123456789012345 --> -123.456789012345ms -1.234567890123456 --> -1.234567890123456s -12.345678901234567 --> -12.345678901234567s scaleExp=-14: 0 --> 0s 0.00000000000001 --> 10fs 0.00000000000012 --> 120fs 0.00000000000123 --> 1.23ps 0.00000000001234 --> 12.34ps 0.00000000012345 --> 123.45ps 0.00000000123456 --> 1.23456ns 0.00000001234567 --> 12.34567ns 0.00000012345678 --> 123.45678ns 0.00000123456789 --> 1.23456789us 0.0000123456789 --> 12.3456789us 0.00012345678901 --> 123.45678901us 0.00123456789012 --> 1.23456789012ms 0.01234567890123 --> 12.34567890123ms 0.12345678901234 --> 123.45678901234ms 1.23456789012345 --> 1.23456789012345s 12.34567890123456 --> 12.34567890123456s 123.45678901234567 --> 123.45678901234567s -0.00000000000001 --> -10fs -0.00000000000012 --> -120fs -0.00000000000123 --> -1.23ps -0.00000000001234 --> -12.34ps -0.00000000012345 --> -123.45ps -0.00000000123456 --> -1.23456ns -0.00000001234567 --> -12.34567ns -0.00000012345678 --> -123.45678ns -0.00000123456789 --> -1.23456789us -0.0000123456789 --> -12.3456789us -0.00012345678901 --> -123.45678901us -0.00123456789012 --> -1.23456789012ms -0.01234567890123 --> -12.34567890123ms -0.12345678901234 --> -123.45678901234ms -1.23456789012345 --> -1.23456789012345s -12.34567890123456 --> -12.34567890123456s -123.45678901234567 --> -123.45678901234567s scaleExp=-13: 0 --> 0s 0.0000000000001 --> 100fs 0.0000000000012 --> 1.2ps 0.0000000000123 --> 12.3ps 0.0000000001234 --> 123.4ps 0.0000000012345 --> 1.2345ns 0.0000000123456 --> 12.3456ns 0.0000001234567 --> 123.4567ns 0.0000012345678 --> 1.2345678us 0.0000123456789 --> 12.3456789us 0.000123456789 --> 123.456789us 0.0012345678901 --> 1.2345678901ms 0.0123456789012 --> 12.3456789012ms 0.1234567890123 --> 123.4567890123ms 1.2345678901234 --> 1.2345678901234s 12.3456789012345 --> 12.3456789012345s 123.4567890123456 --> 123.4567890123456s 1234.5678901234567 --> 1234.5678901234567s -0.0000000000001 --> -100fs -0.0000000000012 --> -1.2ps -0.0000000000123 --> -12.3ps -0.0000000001234 --> -123.4ps -0.0000000012345 --> -1.2345ns -0.0000000123456 --> -12.3456ns -0.0000001234567 --> -123.4567ns -0.0000012345678 --> -1.2345678us -0.0000123456789 --> -12.3456789us -0.000123456789 --> -123.456789us -0.0012345678901 --> -1.2345678901ms -0.0123456789012 --> -12.3456789012ms -0.1234567890123 --> -123.4567890123ms -1.2345678901234 --> -1.2345678901234s -12.3456789012345 --> -12.3456789012345s -123.4567890123456 --> -123.4567890123456s -1234.5678901234567 --> -1234.5678901234567s scaleExp=-12: 0 --> 0s 0.000000000001 --> 1ps 0.000000000012 --> 12ps 0.000000000123 --> 123ps 0.000000001234 --> 1.234ns 0.000000012345 --> 12.345ns 0.000000123456 --> 123.456ns 0.000001234567 --> 1.234567us 0.000012345678 --> 12.345678us 0.000123456789 --> 123.456789us 0.00123456789 --> 1.23456789ms 0.012345678901 --> 12.345678901ms 0.123456789012 --> 123.456789012ms 1.234567890123 --> 1.234567890123s 12.345678901234 --> 12.345678901234s 123.456789012345 --> 123.456789012345s 1234.567890123456 --> 1234.567890123456s 12345.678901234567 --> 12345.678901234567s -0.000000000001 --> -1ps -0.000000000012 --> -12ps -0.000000000123 --> -123ps -0.000000001234 --> -1.234ns -0.000000012345 --> -12.345ns -0.000000123456 --> -123.456ns -0.000001234567 --> -1.234567us -0.000012345678 --> -12.345678us -0.000123456789 --> -123.456789us -0.00123456789 --> -1.23456789ms -0.012345678901 --> -12.345678901ms -0.123456789012 --> -123.456789012ms -1.234567890123 --> -1.234567890123s -12.345678901234 --> -12.345678901234s -123.456789012345 --> -123.456789012345s -1234.567890123456 --> -1234.567890123456s -12345.678901234567 --> -12345.678901234567s scaleExp=-11: 0 --> 0s 0.00000000001 --> 10ps 0.00000000012 --> 120ps 0.00000000123 --> 1.23ns 0.00000001234 --> 12.34ns 0.00000012345 --> 123.45ns 0.00000123456 --> 1.23456us 0.00001234567 --> 12.34567us 0.00012345678 --> 123.45678us 0.00123456789 --> 1.23456789ms 0.0123456789 --> 12.3456789ms 0.12345678901 --> 123.45678901ms 1.23456789012 --> 1.23456789012s 12.34567890123 --> 12.34567890123s 123.45678901234 --> 123.45678901234s 1234.56789012345 --> 1234.56789012345s 12345.67890123456 --> 12345.67890123456s 123456.78901234567 --> 123456.78901234567s -0.00000000001 --> -10ps -0.00000000012 --> -120ps -0.00000000123 --> -1.23ns -0.00000001234 --> -12.34ns -0.00000012345 --> -123.45ns -0.00000123456 --> -1.23456us -0.00001234567 --> -12.34567us -0.00012345678 --> -123.45678us -0.00123456789 --> -1.23456789ms -0.0123456789 --> -12.3456789ms -0.12345678901 --> -123.45678901ms -1.23456789012 --> -1.23456789012s -12.34567890123 --> -12.34567890123s -123.45678901234 --> -123.45678901234s -1234.56789012345 --> -1234.56789012345s -12345.67890123456 --> -12345.67890123456s -123456.78901234567 --> -123456.78901234567s scaleExp=-10: 0 --> 0s 0.0000000001 --> 100ps 0.0000000012 --> 1.2ns 0.0000000123 --> 12.3ns 0.0000001234 --> 123.4ns 0.0000012345 --> 1.2345us 0.0000123456 --> 12.3456us 0.0001234567 --> 123.4567us 0.0012345678 --> 1.2345678ms 0.0123456789 --> 12.3456789ms 0.123456789 --> 123.456789ms 1.2345678901 --> 1.2345678901s 12.3456789012 --> 12.3456789012s 123.4567890123 --> 123.4567890123s 1234.5678901234 --> 1234.5678901234s 12345.6789012345 --> 12345.6789012345s 123456.7890123456 --> 123456.7890123456s 1234567.8901234567 --> 1234567.8901234567s -0.0000000001 --> -100ps -0.0000000012 --> -1.2ns -0.0000000123 --> -12.3ns -0.0000001234 --> -123.4ns -0.0000012345 --> -1.2345us -0.0000123456 --> -12.3456us -0.0001234567 --> -123.4567us -0.0012345678 --> -1.2345678ms -0.0123456789 --> -12.3456789ms -0.123456789 --> -123.456789ms -1.2345678901 --> -1.2345678901s -12.3456789012 --> -12.3456789012s -123.4567890123 --> -123.4567890123s -1234.5678901234 --> -1234.5678901234s -12345.6789012345 --> -12345.6789012345s -123456.7890123456 --> -123456.7890123456s -1234567.8901234567 --> -1234567.8901234567s scaleExp=-9: 0 --> 0s 0.000000001 --> 1ns 0.000000012 --> 12ns 0.000000123 --> 123ns 0.000001234 --> 1.234us 0.000012345 --> 12.345us 0.000123456 --> 123.456us 0.001234567 --> 1.234567ms 0.012345678 --> 12.345678ms 0.123456789 --> 123.456789ms 1.23456789 --> 1.23456789s 12.345678901 --> 12.345678901s 123.456789012 --> 123.456789012s 1234.567890123 --> 1234.567890123s 12345.678901234 --> 12345.678901234s 123456.789012345 --> 123456.789012345s 1234567.890123456 --> 1234567.890123456s 12345678.901234567 --> 12345678.901234567s -0.000000001 --> -1ns -0.000000012 --> -12ns -0.000000123 --> -123ns -0.000001234 --> -1.234us -0.000012345 --> -12.345us -0.000123456 --> -123.456us -0.001234567 --> -1.234567ms -0.012345678 --> -12.345678ms -0.123456789 --> -123.456789ms -1.23456789 --> -1.23456789s -12.345678901 --> -12.345678901s -123.456789012 --> -123.456789012s -1234.567890123 --> -1234.567890123s -12345.678901234 --> -12345.678901234s -123456.789012345 --> -123456.789012345s -1234567.890123456 --> -1234567.890123456s -12345678.901234567 --> -12345678.901234567s scaleExp=-8: 0 --> 0s 0.00000001 --> 10ns 0.00000012 --> 120ns 0.00000123 --> 1.23us 0.00001234 --> 12.34us 0.00012345 --> 123.45us 0.00123456 --> 1.23456ms 0.01234567 --> 12.34567ms 0.12345678 --> 123.45678ms 1.23456789 --> 1.23456789s 12.3456789 --> 12.3456789s 123.45678901 --> 123.45678901s 1234.56789012 --> 1234.56789012s 12345.67890123 --> 12345.67890123s 123456.78901234 --> 123456.78901234s 1234567.89012345 --> 1234567.89012345s 12345678.90123456 --> 12345678.90123456s 123456789.01234567 --> 123456789.01234567s -0.00000001 --> -10ns -0.00000012 --> -120ns -0.00000123 --> -1.23us -0.00001234 --> -12.34us -0.00012345 --> -123.45us -0.00123456 --> -1.23456ms -0.01234567 --> -12.34567ms -0.12345678 --> -123.45678ms -1.23456789 --> -1.23456789s -12.3456789 --> -12.3456789s -123.45678901 --> -123.45678901s -1234.56789012 --> -1234.56789012s -12345.67890123 --> -12345.67890123s -123456.78901234 --> -123456.78901234s -1234567.89012345 --> -1234567.89012345s -12345678.90123456 --> -12345678.90123456s -123456789.01234567 --> -123456789.01234567s scaleExp=-7: 0 --> 0s 0.0000001 --> 100ns 0.0000012 --> 1.2us 0.0000123 --> 12.3us 0.0001234 --> 123.4us 0.0012345 --> 1.2345ms 0.0123456 --> 12.3456ms 0.1234567 --> 123.4567ms 1.2345678 --> 1.2345678s 12.3456789 --> 12.3456789s 123.456789 --> 123.456789s 1234.5678901 --> 1234.5678901s 12345.6789012 --> 12345.6789012s 123456.7890123 --> 123456.7890123s 1234567.8901234 --> 1234567.8901234s 12345678.9012345 --> 12345678.9012345s 123456789.0123456 --> 123456789.0123456s 1234567890.1234567 --> 1234567890.1234567s -0.0000001 --> -100ns -0.0000012 --> -1.2us -0.0000123 --> -12.3us -0.0001234 --> -123.4us -0.0012345 --> -1.2345ms -0.0123456 --> -12.3456ms -0.1234567 --> -123.4567ms -1.2345678 --> -1.2345678s -12.3456789 --> -12.3456789s -123.456789 --> -123.456789s -1234.5678901 --> -1234.5678901s -12345.6789012 --> -12345.6789012s -123456.7890123 --> -123456.7890123s -1234567.8901234 --> -1234567.8901234s -12345678.9012345 --> -12345678.9012345s -123456789.0123456 --> -123456789.0123456s -1234567890.1234567 --> -1234567890.1234567s scaleExp=-6: 0 --> 0s 0.000001 --> 1us 0.000012 --> 12us 0.000123 --> 123us 0.001234 --> 1.234ms 0.012345 --> 12.345ms 0.123456 --> 123.456ms 1.234567 --> 1.234567s 12.345678 --> 12.345678s 123.456789 --> 123.456789s 1234.56789 --> 1234.56789s 12345.678901 --> 12345.678901s 123456.789012 --> 123456.789012s 1234567.890123 --> 1234567.890123s 12345678.901234 --> 12345678.901234s 123456789.012345 --> 123456789.012345s 1234567890.123456 --> 1234567890.123456s 12345678901.234567 --> 12345678901.234567s -0.000001 --> -1us -0.000012 --> -12us -0.000123 --> -123us -0.001234 --> -1.234ms -0.012345 --> -12.345ms -0.123456 --> -123.456ms -1.234567 --> -1.234567s -12.345678 --> -12.345678s -123.456789 --> -123.456789s -1234.56789 --> -1234.56789s -12345.678901 --> -12345.678901s -123456.789012 --> -123456.789012s -1234567.890123 --> -1234567.890123s -12345678.901234 --> -12345678.901234s -123456789.012345 --> -123456789.012345s -1234567890.123456 --> -1234567890.123456s -12345678901.234567 --> -12345678901.234567s scaleExp=-5: 0 --> 0s 0.00001 --> 10us 0.00012 --> 120us 0.00123 --> 1.23ms 0.01234 --> 12.34ms 0.12345 --> 123.45ms 1.23456 --> 1.23456s 12.34567 --> 12.34567s 123.45678 --> 123.45678s 1234.56789 --> 1234.56789s 12345.6789 --> 12345.6789s 123456.78901 --> 123456.78901s 1234567.89012 --> 1234567.89012s 12345678.90123 --> 12345678.90123s 123456789.01234 --> 123456789.01234s 1234567890.12345 --> 1234567890.12345s 12345678901.23456 --> 12345678901.23456s 123456789012.34567 --> 123456789012.34567s -0.00001 --> -10us -0.00012 --> -120us -0.00123 --> -1.23ms -0.01234 --> -12.34ms -0.12345 --> -123.45ms -1.23456 --> -1.23456s -12.34567 --> -12.34567s -123.45678 --> -123.45678s -1234.56789 --> -1234.56789s -12345.6789 --> -12345.6789s -123456.78901 --> -123456.78901s -1234567.89012 --> -1234567.89012s -12345678.90123 --> -12345678.90123s -123456789.01234 --> -123456789.01234s -1234567890.12345 --> -1234567890.12345s -12345678901.23456 --> -12345678901.23456s -123456789012.34567 --> -123456789012.34567s scaleExp=-4: 0 --> 0s 0.0001 --> 100us 0.0012 --> 1.2ms 0.0123 --> 12.3ms 0.1234 --> 123.4ms 1.2345 --> 1.2345s 12.3456 --> 12.3456s 123.4567 --> 123.4567s 1234.5678 --> 1234.5678s 12345.6789 --> 12345.6789s 123456.789 --> 123456.789s 1234567.8901 --> 1234567.8901s 12345678.9012 --> 12345678.9012s 123456789.0123 --> 123456789.0123s 1234567890.1234 --> 1234567890.1234s 12345678901.2345 --> 12345678901.2345s 123456789012.3456 --> 123456789012.3456s 1234567890123.4567 --> 1234567890123.4567s -0.0001 --> -100us -0.0012 --> -1.2ms -0.0123 --> -12.3ms -0.1234 --> -123.4ms -1.2345 --> -1.2345s -12.3456 --> -12.3456s -123.4567 --> -123.4567s -1234.5678 --> -1234.5678s -12345.6789 --> -12345.6789s -123456.789 --> -123456.789s -1234567.8901 --> -1234567.8901s -12345678.9012 --> -12345678.9012s -123456789.0123 --> -123456789.0123s -1234567890.1234 --> -1234567890.1234s -12345678901.2345 --> -12345678901.2345s -123456789012.3456 --> -123456789012.3456s -1234567890123.4567 --> -1234567890123.4567s scaleExp=-3: 0 --> 0s 0.001 --> 1ms 0.012 --> 12ms 0.123 --> 123ms 1.234 --> 1.234s 12.345 --> 12.345s 123.456 --> 123.456s 1234.567 --> 1234.567s 12345.678 --> 12345.678s 123456.789 --> 123456.789s 1234567.89 --> 1234567.89s 12345678.901 --> 12345678.901s 123456789.012 --> 123456789.012s 1234567890.123 --> 1234567890.123s 12345678901.234 --> 12345678901.234s 123456789012.345 --> 123456789012.345s 1234567890123.456 --> 1234567890123.456s 12345678901234.567 --> 12345678901234.567s -0.001 --> -1ms -0.012 --> -12ms -0.123 --> -123ms -1.234 --> -1.234s -12.345 --> -12.345s -123.456 --> -123.456s -1234.567 --> -1234.567s -12345.678 --> -12345.678s -123456.789 --> -123456.789s -1234567.89 --> -1234567.89s -12345678.901 --> -12345678.901s -123456789.012 --> -123456789.012s -1234567890.123 --> -1234567890.123s -12345678901.234 --> -12345678901.234s -123456789012.345 --> -123456789012.345s -1234567890123.456 --> -1234567890123.456s -12345678901234.567 --> -12345678901234.567s scaleExp=-2: 0 --> 0s 0.01 --> 10ms 0.12 --> 120ms 1.23 --> 1.23s 12.34 --> 12.34s 123.45 --> 123.45s 1234.56 --> 1234.56s 12345.67 --> 12345.67s 123456.78 --> 123456.78s 1234567.89 --> 1234567.89s 12345678.9 --> 12345678.9s 123456789.01 --> 123456789.01s 1234567890.12 --> 1234567890.12s 12345678901.23 --> 12345678901.23s 123456789012.34 --> 123456789012.34s 1234567890123.45 --> 1234567890123.45s 12345678901234.56 --> 12345678901234.56s 123456789012345.67 --> 123456789012345.67s -0.01 --> -10ms -0.12 --> -120ms -1.23 --> -1.23s -12.34 --> -12.34s -123.45 --> -123.45s -1234.56 --> -1234.56s -12345.67 --> -12345.67s -123456.78 --> -123456.78s -1234567.89 --> -1234567.89s -12345678.9 --> -12345678.9s -123456789.01 --> -123456789.01s -1234567890.12 --> -1234567890.12s -12345678901.23 --> -12345678901.23s -123456789012.34 --> -123456789012.34s -1234567890123.45 --> -1234567890123.45s -12345678901234.56 --> -12345678901234.56s -123456789012345.67 --> -123456789012345.67s scaleExp=-1: 0 --> 0s 0.1 --> 100ms 1.2 --> 1.2s 12.3 --> 12.3s 123.4 --> 123.4s 1234.5 --> 1234.5s 12345.6 --> 12345.6s 123456.7 --> 123456.7s 1234567.8 --> 1234567.8s 12345678.9 --> 12345678.9s 123456789 --> 123456789s 1234567890.1 --> 1234567890.1s 12345678901.2 --> 12345678901.2s 123456789012.3 --> 123456789012.3s 1234567890123.4 --> 1234567890123.4s 12345678901234.5 --> 12345678901234.5s 123456789012345.6 --> 123456789012345.6s 1234567890123456.7 --> 1234567890123456.7s -0.1 --> -100ms -1.2 --> -1.2s -12.3 --> -12.3s -123.4 --> -123.4s -1234.5 --> -1234.5s -12345.6 --> -12345.6s -123456.7 --> -123456.7s -1234567.8 --> -1234567.8s -12345678.9 --> -12345678.9s -123456789 --> -123456789s -1234567890.1 --> -1234567890.1s -12345678901.2 --> -12345678901.2s -123456789012.3 --> -123456789012.3s -1234567890123.4 --> -1234567890123.4s -12345678901234.5 --> -12345678901234.5s -123456789012345.6 --> -123456789012345.6s -1234567890123456.7 --> -1234567890123456.7s scaleExp=0: 0 --> 0s 1 --> 1s 12 --> 12s 123 --> 123s 1234 --> 1234s 12345 --> 12345s 123456 --> 123456s 1234567 --> 1234567s 12345678 --> 12345678s 123456789 --> 123456789s 1234567890 --> 1234567890s 12345678901 --> 12345678901s 123456789012 --> 123456789012s 1234567890123 --> 1234567890123s 12345678901234 --> 12345678901234s 123456789012345 --> 123456789012345s 1234567890123456 --> 1234567890123456s 12345678901234567 --> 12345678901234567s -1 --> -1s -12 --> -12s -123 --> -123s -1234 --> -1234s -12345 --> -12345s -123456 --> -123456s -1234567 --> -1234567s -12345678 --> -12345678s -123456789 --> -123456789s -1234567890 --> -1234567890s -12345678901 --> -12345678901s -123456789012 --> -123456789012s -1234567890123 --> -1234567890123s -12345678901234 --> -12345678901234s -123456789012345 --> -123456789012345s -1234567890123456 --> -1234567890123456s -12345678901234567 --> -12345678901234567s .