diff options
| author | a1xd <[email protected]> | 2021-09-22 20:49:04 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-22 20:49:04 -0400 |
| commit | 8a4b6f57758338d5537d4671184099a4728a8cdd (patch) | |
| tree | df36529a344d5d21ff11f5ba021ec80afb4b68a4 /common/accel-power.hpp | |
| parent | Merge pull request #87 from matthewstrasiotto/streamer_mode (diff) | |
| parent | improve converter + docs (diff) | |
| download | rawaccel-8a4b6f57758338d5537d4671184099a4728a8cdd.tar.xz rawaccel-8a4b6f57758338d5537d4671184099a4728a8cdd.zip | |
Merge pull request #105 from a1xd/1.5.x
v1.5
Diffstat (limited to 'common/accel-power.hpp')
| -rw-r--r-- | common/accel-power.hpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/common/accel-power.hpp b/common/accel-power.hpp index 5d0c451..c8faabb 100644 --- a/common/accel-power.hpp +++ b/common/accel-power.hpp @@ -1,26 +1,27 @@ #pragma once -#include <math.h> +#include "rawaccel-base.hpp" -#include "accel-base.hpp" +#include <math.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 { + 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>; - } |