X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Futil.cpp;h=83f2ae0b343077725538dde7b59350e63ac07bf1;hb=793208c83a8bde80be063a7bcb159ee7ffae2b9f;hp=2a04aaec7d99e68fb7ef9295c6ec4e40f5476425;hpb=4bc10a910593fda2d378d62a57448cec4b2166bf;p=pulseview.git diff --git a/pv/util.cpp b/pv/util.cpp index 2a04aaec..83f2ae0b 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,8 +61,8 @@ 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; }