From c7e9641e8688c82874dbfa067f7dc8cb4d40e23d Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 3 Sep 2020 13:21:45 -0700 Subject: Change classic, natural, naturalgain to use gain offset --- common/accel-classic.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'common/accel-classic.hpp') diff --git a/common/accel-classic.hpp b/common/accel-classic.hpp index 4cc52ca..3f409c3 100644 --- a/common/accel-classic.hpp +++ b/common/accel-classic.hpp @@ -10,14 +10,20 @@ namespace rawaccel { struct classic_impl { double accel; double power; + double power_inc; + double offset; + double multiplicative_const; classic_impl(const accel_args& args) : - accel(args.accel), power(args.exponent - 1) - {} + accel(args.accel), power(args.exponent - 1), offset(args.offset) { + multiplicative_const = pow(accel, power); + power_inc = power + 1; + } inline double operator()(double speed) const { //f(x) = (mx)^(k-1) - return pow(accel * speed, power); + double base_speed = speed + offset; + return multiplicative_const * pow(speed, power_inc) / base_speed; } }; -- cgit v1.2.3 From 01f870a493378a62ab76dcbf5dc37c0390ca7afe Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 3 Sep 2020 19:36:44 -0700 Subject: Refactor for nice gain offset --- common/accel-classic.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'common/accel-classic.hpp') diff --git a/common/accel-classic.hpp b/common/accel-classic.hpp index 3f409c3..1df888a 100644 --- a/common/accel-classic.hpp +++ b/common/accel-classic.hpp @@ -25,6 +25,10 @@ namespace rawaccel { double base_speed = speed + offset; return multiplicative_const * pow(speed, power_inc) / base_speed; } + + inline double legacy_offset(double speed) const { + return pow(accel * speed, power); + } }; using accel_classic = additive_accel; -- cgit v1.2.3