summaryrefslogtreecommitdiff
path: root/components/netspeeds.c
diff options
context:
space:
mode:
authorLaslo Hunhold <dev@frign.de>2018-05-19 20:09:38 +0200
committerAaron Marcher <me@drkhsh.at>2018-05-19 20:14:09 +0200
commit68a3902dc533a66c1377409b34904f730ae4a7ef (patch)
treed6ff347b6b93e4fd1f7b0eabf8c8b80702de0d03 /components/netspeeds.c
parent422cadfd5ffd78ae1b8fdf15734e03bd0333b26e (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.
Diffstat (limited to 'components/netspeeds.c')
-rw-r--r--components/netspeeds.c16
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