diff options
| author | a1xd <[email protected]> | 2021-04-14 21:30:26 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-04-14 21:30:26 -0400 |
| commit | 0bff91add8525c3c3b3ac00d0508d3a798dee5e2 (patch) | |
| tree | 9ea777e74197ee110bf0bfe1a277313cb8d660d6 /common/accel-lookup.hpp | |
| parent | bump version (diff) | |
| download | rawaccel-0bff91add8525c3c3b3ac00d0508d3a798dee5e2.tar.xz rawaccel-0bff91add8525c3c3b3ac00d0508d3a798dee5e2.zip | |
ensure normal return values from accel
Diffstat (limited to 'common/accel-lookup.hpp')
| -rw-r--r-- | common/accel-lookup.hpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/common/accel-lookup.hpp b/common/accel-lookup.hpp index 2ca387f..99f39e9 100644 --- a/common/accel-lookup.hpp +++ b/common/accel-lookup.hpp @@ -181,6 +181,8 @@ namespace rawaccel { int last_arb_index = last_arbitrary_index; int last_log_index = last_log_lookup_index; + if (speed <= 0) return 1; + if (unsigned(last_arb_index) < capacity && unsigned(last_log_index) < capacity && speed > first_point_speed) @@ -222,18 +224,13 @@ namespace rawaccel { int inline search_from(int index, int last, double speed) const { - int prev_index; - do { - prev_index = index; index++; - } + } while (index <= last && data[index].applicable_speed < speed); - index--; - - return index; + return index - 1; } double inline apply(int index, double speed) const |