Browse Source

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.
master
Laslo Hunhold 8 years ago
committed by Aaron Marcher
parent
commit
68a3902dc5
  1. 16
      components/netspeeds.c

16
components/netspeeds.c

@ -26,8 +26,8 @@
return NULL; return NULL;
} }
return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) / return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) *
interval * 1000) : NULL; 1000 / interval) : NULL;
} }
const char * const char *
@ -49,8 +49,8 @@
return NULL; return NULL;
} }
return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) / return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) *
interval * 1000) : NULL; 1000 / interval) : NULL;
} }
#elif defined(__OpenBSD__) #elif defined(__OpenBSD__)
#include <string.h> #include <string.h>
@ -88,8 +88,8 @@
return NULL; return NULL;
} }
return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) / return oldrxbytes ? fmt_scaled((rxbytes - oldrxbytes) *
interval * 1000) : NULL; 1000 / interval) : NULL;
} }
const char * const char *
@ -121,7 +121,7 @@
return NULL; return NULL;
} }
return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) / return oldtxbytes ? fmt_scaled((txbytes - oldtxbytes) *
interval * 1000) : NULL; 1000 / interval) : NULL;
} }
#endif #endif

Loading…
Cancel
Save