diff --git a/algo.lua b/algo.lua index b95b43f..c05c73e 100644 --- a/algo.lua +++ b/algo.lua @@ -18,6 +18,12 @@ local algo = {} -- @treturn number clamped value. function algo.clamp(x, a, b) return min(max(x, a), b) end +--- Sign function. +-- +-- @number x value whose sign should be returned. +-- @treturn number sign of x, -1 if negative, 1 if positive, 0 otherwise. +function algo.sign(x) return x > 0 and 1 or x < 0 and -1 or 0 end + --- Fast remove from array. -- -- Replace 'array[i]' with last array's element and