Use integers rather than floats everywhere

We don't need floating point precision if results are casted back to
integer. Instead, rearrange operations and do the integer division after
the multiplication.

Version numbers are terminating decimals anyway and can be stored using
two integers without losing any information.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2012-07-10 02:20:04 +02:00
parent 8311f14dea
commit 8375e9a51b
4 changed files with 21 additions and 25 deletions

View File

@@ -253,9 +253,8 @@ void wins_scrollwin_display(struct scrollwin *sw)
const int visible_lines = sw->win.h - sw->pad.y - 1;
if (sw->total_lines > visible_lines) {
float ratio = ((float)visible_lines) / ((float)sw->total_lines);
int sbar_length = (int)(ratio * visible_lines);
int highend = (int)(ratio * sw->first_visible_line);
int sbar_length = visible_lines * visible_lines / sw->total_lines;
int highend = visible_lines * sw->first_visible_line / sw->total_lines;
int sbar_top = highend + sw->pad.y + 1;
if ((sbar_top + sbar_length) > sw->win.h - 1)