diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-07-10 02:20:04 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-07-10 11:58:15 +0200 |
commit | 8375e9a51b29a54e86fca3e923d8f1fb01910666 (patch) | |
tree | 49f43471d8f11b4edf10e9d38d9b971010c6c6a2 /src/todo.c | |
parent | 8311f14dea7d5a68e67eae530dfa9a401e958372 (diff) | |
download | calcurse-8375e9a51b29a54e86fca3e923d8f1fb01910666.zip |
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>
Diffstat (limited to 'src/todo.c')
-rw-r--r-- | src/todo.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -311,9 +311,8 @@ void todo_update_panel(int which_pan) /* Draw the scrollbar if necessary. */ if (todos > max_items) { - float ratio = ((float)max_items) / ((float)todos); - int sbar_length = (int)(ratio * (max_items + 1)); - int highend = (int)(ratio * first); + int sbar_length = max_items * (max_items + 1) / todos; + int highend = max_items * first / todos; unsigned hilt_bar = (which_pan == TOD) ? 1 : 0; int sbar_top = highend + title_lines; |