diff options
| author | a1xd <[email protected]> | 2021-09-18 06:31:14 -0400 |
|---|---|---|
| committer | a1xd <[email protected]> | 2021-09-23 22:36:19 -0400 |
| commit | e1397f3edbc0921ec1ff6f8e3501f786231dd2fb (patch) | |
| tree | 1f967f0a02a3d89bb95eb7a8aa3ce37cccb9832f /common/accel-lookup.hpp | |
| parent | set modifier flags in userspace (diff) | |
| download | rawaccel-e1397f3edbc0921ec1ff6f8e3501f786231dd2fb.tar.xz rawaccel-e1397f3edbc0921ec1ff6f8e3501f786231dd2fb.zip | |
inline lerp
Diffstat (limited to 'common/accel-lookup.hpp')
| -rw-r--r-- | common/accel-lookup.hpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/common/accel-lookup.hpp b/common/accel-lookup.hpp index 493a7a4..920df1c 100644 --- a/common/accel-lookup.hpp +++ b/common/accel-lookup.hpp @@ -32,6 +32,16 @@ namespace rawaccel { } }; + __forceinline + constexpr double lerp(double a, double b, double t) + { + double x = a + t * (b - a); + if ((t > 1) == (a < b)) { + return maxsd(x, b); + } + return minsd(x, b); + } + struct lookup { enum { capacity = LUT_POINTS_CAPACITY }; |