aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/math.lua
blob: 886ce13761b0e8148b5041d3710dd4110ee24285 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
local qmath = {}

function qmath.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 qmath.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 qmath.clamp(value, min, max)
    return math.max(math.min(value, max), min)
end

return qmath