summaryrefslogtreecommitdiff
path: root/common/accel-lookup.hpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-09-18 06:31:14 -0400
committera1xd <[email protected]>2021-09-23 22:36:19 -0400
commite1397f3edbc0921ec1ff6f8e3501f786231dd2fb (patch)
tree1f967f0a02a3d89bb95eb7a8aa3ce37cccb9832f /common/accel-lookup.hpp
parentset modifier flags in userspace (diff)
downloadrawaccel-e1397f3edbc0921ec1ff6f8e3501f786231dd2fb.tar.xz
rawaccel-e1397f3edbc0921ec1ff6f8e3501f786231dd2fb.zip
inline lerp
Diffstat (limited to 'common/accel-lookup.hpp')
-rw-r--r--common/accel-lookup.hpp10
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 };