Module:Color/utils/init

From Space Station 14 Wiki
Revision as of 07:56, 24 May 2025 by Aliser (talk | contribs) (Created page with "local function min_index(first, ...) local min, index = first, 1 for i, v in ipairs {...} do if v < min then min, index = v, i + 1 end end return min, index end local function max_index(first, ...) local max, index = first, 1 for i, v in ipairs {...} do if v > max then max, index = v, i + 1 end end return max, index end local function round(x) return x + 0.5 - (x + 0.5) % 1 end local function clamp(x, min, max) return x...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:Color/utils/init/doc

local function min_index(first, ...)
  local min, index = first, 1
  for i, v in ipairs {...} do
    if v < min then
      min, index = v, i + 1
    end
  end
  return min, index
end

local function max_index(first, ...)
  local max, index = first, 1
  for i, v in ipairs {...} do
    if v > max then
      max, index = v, i + 1
    end
  end
  return max, index
end

local function round(x)
  return x + 0.5 - (x + 0.5) % 1
end

local function clamp(x, min, max)
  return x < min and min or x > max and max or x
end

local function map(t, cb)
  local n = {}
  for i, v in ipairs(t) do
    n[i] = cb(v)
  end
  return n
end

return {
  min = min_index,
  max = max_index,
  round = round,
  clamp = clamp,
  map = map,
}