Browse Source

Merge commit '2aa5163' into stratum

Luke Dashjr 13 years ago
parent
commit
7430410b0b
1 changed files with 16 additions and 5 deletions
  1. 16 5
      miner.c

+ 16 - 5
miner.c

@@ -1803,6 +1803,7 @@ static void suffix_string(uint64_t val, char *buf, int sigdigits)
 	const uint64_t peta = 1000000000000000ull;
 	const uint64_t peta = 1000000000000000ull;
 	const uint64_t exa  = 1000000000000000000ull;
 	const uint64_t exa  = 1000000000000000000ull;
 	char suffix[2] = "";
 	char suffix[2] = "";
+	bool decimal = true;
 	double dval;
 	double dval;
 
 
 	if (val >= exa) {
 	if (val >= exa) {
@@ -1828,13 +1829,23 @@ static void suffix_string(uint64_t val, char *buf, int sigdigits)
 	} else if (val >= kilo) {
 	} else if (val >= kilo) {
 		dval = (double)val / dkilo;
 		dval = (double)val / dkilo;
 		sprintf(suffix, "K");
 		sprintf(suffix, "K");
-	} else
+	} else {
 		dval = val;
 		dval = val;
+		decimal = false;
+	}
 
 
-	if (!sigdigits)
-		sprintf(buf, "%d%s", (unsigned int)dval, suffix);
-	else
-		sprintf(buf, "%-*.*g%s", sigdigits + 1, sigdigits, dval, suffix);
+	if (!sigdigits) {
+		if (decimal)
+			sprintf(buf, "%.1f%s", dval, suffix);
+		else
+			sprintf(buf, "%d%s", (unsigned int)dval, suffix);
+	} else {
+		/* Always show sigdigits + 1, padded on right with zeroes
+		 * followed by suffix */
+		int ndigits = sigdigits - 1 - (dval > 0.0 ? floor(log10(dval)) : 0);
+
+		sprintf(buf, "%*.*f%s", sigdigits + 1, ndigits, dval, suffix);
+	}
 }
 }
 
 
 static float
 static float