+static QString format_time_with_si(double t, QString unit, int prefix,
+ unsigned int precision, bool sign)
+{
+ // The precision is always given without taking the prefix into account
+ // so we need to deduct the number of decimals the prefix might imply
+ const int prefix_order =
+ -(prefix * 3 + pv::util::FirstSIPrefixPower);
+
+ const unsigned int relative_prec =
+ (prefix >= pv::util::FirstSIPrefix) ? precision :
+ std::max((int)(precision - prefix_order), 0);
+
+ return format_si_value(t, unit, prefix, relative_prec, sign);
+}
+