From b3530d7c4a102935fa26498a160ee1dc6c1e9c03 Mon Sep 17 00:00:00 2001 From: delta Date: Fri, 4 Jul 2025 00:38:29 +0200 Subject: :3 --- .config/awesome/quarrel/math/consts.lua | 5 +++++ .config/awesome/quarrel/math/init.lua | 29 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .config/awesome/quarrel/math/consts.lua create mode 100644 .config/awesome/quarrel/math/init.lua (limited to '.config/awesome/quarrel/math') diff --git a/.config/awesome/quarrel/math/consts.lua b/.config/awesome/quarrel/math/consts.lua new file mode 100644 index 0000000..f18a093 --- /dev/null +++ b/.config/awesome/quarrel/math/consts.lua @@ -0,0 +1,5 @@ +local C = {} + +C.EPSILON = 2 ^ -52 + +return C diff --git a/.config/awesome/quarrel/math/init.lua b/.config/awesome/quarrel/math/init.lua new file mode 100644 index 0000000..d437654 --- /dev/null +++ b/.config/awesome/quarrel/math/init.lua @@ -0,0 +1,29 @@ +local M = require "quarrel.math.consts" +local gmath = require "gears.math" + +-- TODO: Finish documenting these functions + +function M.step_value(value, steps) + if value > steps[#steps - 1][1] then + return steps[#steps - 1][2] + end + for i, step in ipairs(steps) do + if step[1] <= value and value <= steps[i + 1][1] then + return step[2] + end + end +end + +function M.translate_range(value, in_min, in_max, out_min, out_max) + return out_min + ((out_max - out_min) / (in_max - in_min)) * (value - in_min) +end + +function M.percentage(value, max) + return gmath.round(value / max * 100) +end + +function M.clamp(value, min, max) + return math.max(math.min(value, max), min) +end + +return M -- cgit v1.2.3