From 5d5a0cc511007d07117d7fd195b71c247e257203 Mon Sep 17 00:00:00 2001 From: ali-exacute Date: Sun, 10 Dec 2023 23:46:37 +0330 Subject: [PATCH] feat(math): math.clamp (#468) --- imports/math/shared.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/imports/math/shared.lua b/imports/math/shared.lua index 23d7972..4668ca7 100644 --- a/imports/math/shared.lua +++ b/imports/math/shared.lua @@ -114,4 +114,14 @@ function math.groupdigits(number, seperator) -- credit http://richard.warburton. return left..(num:reverse():gsub('(%d%d%d)','%1' .. (seperator or ',')):reverse())..right end +---Clamp a number between 2 other numbers +---@param val number +---@param lower number +---@param upper number +---@return number +function math.clamp(val, lower, upper) -- credit https://love2d.org/forums/viewtopic.php?t=1856 + if lower > upper then lower, upper = upper, lower end -- swap if boundaries supplied the wrong way + return math.max(lower, math.min(upper, val)) +end + return lib.math