summaryrefslogtreecommitdiff
path: root/common/accel_logarithmic.cpp
blob: 64808a17321a6f7ac5f8917ebdc74d71cbc3d320 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#define _USE_MATH_DEFINES
#include <math.h>

#include "accel_types.hpp"

namespace rawaccel {
	inline accel_logarithmic::accel_logarithmic(accel_args args)
		: accel_implentation(args) {}

	inline double accel_logarithmic::accelerate(double speed) {
		//f(x) = log(m*x+1)
		return log(speed * curve_constant_one + 1);
	}

	inline void accel_logarithmic::verify(accel_args args) {
		accel_implentation::verify(args);
		if (args.lim_exp <= 1) error("exponent must be greater than 1");
	}
}