diff options
author | Laslo Hunhold <dev@frign.de> | 2018-05-19 20:09:38 +0200 |
---|---|---|
committer | Aaron Marcher <me@drkhsh.at> | 2018-05-19 20:14:09 +0200 |
commit | 68a3902dc533a66c1377409b34904f730ae4a7ef (patch) | |
tree | d6ff347b6b93e4fd1f7b0eabf8c8b80702de0d03 | |
parent | 422cadfd5ffd78ae1b8fdf15734e03bd0333b26e (diff) |
Increase precision in netspeeds.c
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.
-rw-r--r-- | components/netspeeds.c | 16 |
1 files changed, 8 insertions, 8 deletions
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 <string.h> @@ -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 |