summaryrefslogtreecommitdiff
path: root/common/accel-power.hpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-03-29 17:14:49 -0400
committera1xd <[email protected]>2021-03-29 17:14:49 -0400
commit16dc4df3d438142ae378c9c6983585d06e0c6a33 (patch)
tree1080b11b6ec98d6f47509ced922f2c338e0068bd /common/accel-power.hpp
parentMerge pull request #81 from a1xd/log-unhandled-ex (diff)
downloadrawaccel-16dc4df3d438142ae378c9c6983585d06e0c6a33.tar.xz
rawaccel-16dc4df3d438142ae378c9c6983585d06e0c6a33.zip
refactor common/settings
only driver compiles remove accel-base types merge linear + classic move gain cap logic into classic impl, cap is now set in terms of output use cap/limit to determine negation remove weight, add replacement for power mode only remove legacy offset option remove naturalgain mode add legacy mode flag naturalgain -> natural natural -> natural + legacy flag add dpi setting and more accel args + defaults (prep for ips mode) replace output speed cap with input cap
Diffstat (limited to 'common/accel-power.hpp')
-rw-r--r--common/accel-power.hpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/common/accel-power.hpp b/common/accel-power.hpp
index 5d0c451..17977a0 100644
--- a/common/accel-power.hpp
+++ b/common/accel-power.hpp
@@ -2,25 +2,25 @@
#include <math.h>
-#include "accel-base.hpp"
+#include "rawaccel-settings.h"
namespace rawaccel {
/// <summary> Struct to hold power (non-additive) acceleration implementation. </summary>
- struct power_impl {
- double scale;
+ struct power {
+ double pre_scale;
double exponent;
+ double post_scale;
- power_impl(const accel_args& args) :
- scale(args.scale), exponent(args.exponent)
- {}
+ power(const accel_args& args) :
+ pre_scale(args.scale),
+ exponent(args.exponent),
+ post_scale(args.weight) {}
inline double operator()(double speed) const {
// f(x) = (mx)^k
- return pow(speed * scale, exponent);
+ return post_scale * pow(speed * pre_scale, exponent);
}
};
- using accel_power = nonadditive_accel<power_impl>;
-
}