summaryrefslogtreecommitdiff
path: root/common/accel-jump.hpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-04-14 21:30:26 -0400
committera1xd <[email protected]>2021-04-14 21:30:26 -0400
commit0bff91add8525c3c3b3ac00d0508d3a798dee5e2 (patch)
tree9ea777e74197ee110bf0bfe1a277313cb8d660d6 /common/accel-jump.hpp
parentbump version (diff)
downloadrawaccel-0bff91add8525c3c3b3ac00d0508d3a798dee5e2.tar.xz
rawaccel-0bff91add8525c3c3b3ac00d0508d3a798dee5e2.zip
ensure normal return values from accel
Diffstat (limited to 'common/accel-jump.hpp')
-rw-r--r--common/accel-jump.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/common/accel-jump.hpp b/common/accel-jump.hpp
index 30f9a49..198891a 100644
--- a/common/accel-jump.hpp
+++ b/common/accel-jump.hpp
@@ -32,7 +32,7 @@ namespace rawaccel {
double smooth(double x) const
{
- return step.y * 1 / (1 + decay(x));
+ return step.y / (1 + decay(x));
}
double smooth_antideriv(double x) const
@@ -61,8 +61,11 @@ namespace rawaccel {
double operator()(double x) const
{
+ if (x <= 0) return 1;
+
if (is_smooth()) return 1 + (smooth_antideriv(x) + C) / x;
- else if (x < step.x) return 1;
+
+ if (x < step.x) return 1;
else return 1 + step.y * (x - step.x) / x;
}
};