blob: c6f14b419de3fce0de866fdbd9bc56795b09d4d6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#pragma once
#define _USE_MATH_DEFINES
#include <math.h>
#include "accel_types.hpp"
namespace rawaccel {
inline accel_natural::accel_natural(accel_args args)
: accel_implentation(args)
{ curve_constant_one /= curve_constant_two; }
inline double accel_natural::accelerate(double speed) {
// f(x) = k(1-e^(-mx))
return curve_constant_two - (curve_constant_two * exp(-curve_constant_one * speed));;
}
inline void accel_natural::verify(accel_args args) {
accel_implentation::verify(args);
if (args.lim_exp <= 1) error("exponent must be greater than 1");
}
}
|