#pragma once #include #include "accel-base.hpp" namespace rawaccel { /// Struct to hold power (non-additive) acceleration implementation. struct power_impl { double scale; double exponent; power_impl(const accel_args& args) : scale(args.scale), exponent(args.exponent) {} inline double operator()(double speed) const { // f(x) = (mx)^k return pow(speed * scale, exponent); } }; using accel_power = nonadditive_accel; }