arduino stuffs
Diffstat (limited to 'mp3player/arduino/math.h')
-rw-r--r--mp3player/arduino/math.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/mp3player/arduino/math.h b/mp3player/arduino/math.h
new file mode 100644
index 0000000..51e88d1
--- /dev/null
+++ b/mp3player/arduino/math.h
@@ -0,0 +1,18 @@
+#ifndef MATH_H
+#define MATH_H
+static constexpr inline float lerp(float from, float to, float weight) { return from + (to - from) * weight; }
+
+static inline int wrapi(int value, int min, int max) {
+ int range = max - min;
+ return range == 0 ? min : min + ((((value - min) % range) + range) % range);
+}
+
+static inline int clamp(long value, long minv, long maxv) {
+ if (value < minv)
+ return minv;
+ else if (value > maxv)
+ return maxv;
+ return value;
+}
+
+#endif