From 1d1796c97867ada2211a39b313ef6398297c7b8f Mon Sep 17 00:00:00 2001 From: hybrid Date: Sat, 8 Aug 2026 08:10:17 +0300 Subject: upd: tmp --- src/misc.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/misc.c (limited to 'src/misc.c') diff --git a/src/misc.c b/src/misc.c new file mode 100644 index 0000000..a01a70d --- /dev/null +++ b/src/misc.c @@ -0,0 +1,23 @@ +#include "misc.h" + +double linearConversion(double min_from, double max_from, double value, + double min_to, double max_to, bool clip) { + // prevent division by zero + if (max_from == min_from) { + return min_to; + } + + // main formula + double result = min_to + (value - min_from) * (max_to - min_to) / (max_from - min_from); + + // check clipping + if (clip) { + if (result < min_to) { + result = min_to; + } else if (result > max_to) { + result = max_to; + } + } + + return result; +} -- cgit v1.3.1