diff options
Diffstat (limited to '.config/awesome/quarrel/math/init.lua')
-rw-r--r-- | .config/awesome/quarrel/math/init.lua | 29 |
1 files changed, 29 insertions, 0 deletions
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 |