From 68a3902dc533a66c1377409b34904f730ae4a7ef Mon Sep 17 00:00:00 2001 From: Laslo Hunhold Date: Sat, 19 May 2018 20:09:38 +0200 Subject: Increase precision in netspeeds.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First dividing by interval before multiplying with 1000 decreases the precision by +-(interval - 1) * 1000, as interval arithmetic always applies the Gauß-function to the result. This is not necessary and simply reordering the operations mitigates this. --- components/netspeeds.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'components') diff --git a/components/netspeeds.c b/components/netspeeds.c index 6adc3ea..32e78d6 100644 --- a/components/netspeeds.c +++ b/components/netspeeds.c @@ -26,8 +26,8 @@ return NULL; } - return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) / - interval * 1000) : NULL; + return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) * + 1000 / interval) : NULL; } const char * @@ -49,8 +49,8 @@ return NULL; } - return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) / - interval * 1000) : NULL; + return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) * + 1000 / interval) : NULL; } #elif defined(__OpenBSD__) #include @@ -88,8 +88,8 @@ return NULL; } - return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) / - interval * 1000) : NULL; + return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) * + 1000 / interval) : NULL; } const char * @@ -121,7 +121,7 @@ return NULL; } - return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) / - interval * 1000) : NULL; + return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) * + 1000 / interval) : NULL; } #endif -- cgit v1.2.3