X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Futil.cpp;h=e3619829d1eab230cd0bda0b1b160fe5e7e404e5;hb=96b6316ab8ed24551a0affb7a5819d1c97147a5c;hp=2a04aaec7d99e68fb7ef9295c6ec4e40f5476425;hpb=4bc10a910593fda2d378d62a57448cec4b2166bf;p=pulseview.git diff --git a/pv/util.cpp b/pv/util.cpp index 2a04aae..e361982 100644 --- a/pv/util.cpp +++ b/pv/util.cpp @@ -32,9 +32,10 @@ using namespace Qt; namespace pv { namespace util { -static const QString SIPrefixes[9] = - {"f", "p", "n", QChar(0x03BC), "m", "", "k", "M", "G"}; -const int FirstSIPrefixPower = -15; +static const QString SIPrefixes[17] = + {"y", "z", "a", "f", "p", "n", QChar(0x03BC), "m", "", "k", "M", "G", + "T", "P", "E", "Z", "Y"}; +const int FirstSIPrefixPower = -24; QString format_si_value(double v, QString unit, int prefix, unsigned int precision, bool sign) @@ -51,7 +52,7 @@ QString format_si_value(double v, QString unit, int prefix, } assert(prefix >= 0); - assert(prefix < countof(SIPrefixes)); + assert(prefix < (int)countof(SIPrefixes)); const double multiplier = pow(10.0, (int)- prefix * 3 - FirstSIPrefixPower); @@ -60,16 +61,19 @@ QString format_si_value(double v, QString unit, int prefix, QTextStream ts(&s); if (sign) ts << forcesign; - ts << fixed << qSetRealNumberPrecision(precision) - << (v * multiplier) << SIPrefixes[prefix] << unit; + ts << fixed << qSetRealNumberPrecision(precision) << + (v * multiplier) << " " << SIPrefixes[prefix] << unit; return s; } -QString format_time(double t, int prefix, +QString format_time(double t, int prefix, TimeUnit unit, unsigned int precision, bool sign) { - return format_si_value(t, "s", prefix, precision, sign); + if (unit == TimeUnit::Time) + return format_si_value(t, "s", prefix, precision, sign); + else + return format_si_value(t, "sa", prefix, precision, sign); } QString format_second(double second)