From e8417a29fb2153ea035a757f36bfa300cf8b480d Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Thu, 30 Jul 2020 17:07:35 -0400 Subject: add tweaks for st-refactor --- common/accel-classic.hpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 common/accel-classic.hpp (limited to 'common/accel-classic.hpp') diff --git a/common/accel-classic.hpp b/common/accel-classic.hpp new file mode 100644 index 0000000..e2eb494 --- /dev/null +++ b/common/accel-classic.hpp @@ -0,0 +1,29 @@ +#pragma once + +#include + +#include "accel-base.hpp" + +namespace rawaccel { + + /// Struct to hold "classic" (linear raised to power) acceleration implementation. + struct accel_classic : accel_base { + double exponent; + + accel_classic(accel_args args) : accel_base(args) { + verify(args); + + exponent = args.exponent - 1; + } + + inline double accelerate(double speed) const { + //f(x) = (mx)^k + return pow(speed_coeff * speed, exponent); + } + + void verify(accel_args args) const { + if (args.exponent <= 1) error("exponent must be greater than 1"); + } + }; + +} -- cgit v1.2.3 From b3ed8fd4e4fcad0b749126dee62588260d74b106 Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Fri, 31 Jul 2020 01:37:41 -0400 Subject: add more tweaks for st-refactor --- common/accel-classic.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common/accel-classic.hpp') diff --git a/common/accel-classic.hpp b/common/accel-classic.hpp index e2eb494..1a2adca 100644 --- a/common/accel-classic.hpp +++ b/common/accel-classic.hpp @@ -10,7 +10,7 @@ namespace rawaccel { struct accel_classic : accel_base { double exponent; - accel_classic(accel_args args) : accel_base(args) { + accel_classic(const accel_args& args) : accel_base(args) { verify(args); exponent = args.exponent - 1; @@ -21,7 +21,7 @@ namespace rawaccel { return pow(speed_coeff * speed, exponent); } - void verify(accel_args args) const { + void verify(const accel_args& args) const { if (args.exponent <= 1) error("exponent must be greater than 1"); } }; -- cgit v1.2.3