Changes
fix the valueUnion function for NaNs (and make it a lot simpler to boot)
local infinity = math.huge
local checkType = libraryUtil.checkType
--[[
function p.valueUnion(...)
local lim = select('#', ...)
if lim == 0 < 2 then error(lim .. ' argument' .. (lim == 1 and '' or 's') .. "no arguments passed to 'valueUnion'(minimum is 2)", 2)
end
local valsisNan = p.isNan local ret, ret exists = {}, {}
for i = 1, lim do
local t = select(i, ...)
checkType('valueUnion', i, t, 'table')
for k, v in pairs(t) do
if typeisNan(v) then ret[#ret + 1] =v elseif not exists[v] then ret[#ret + 1] = 'number' and tostring(v) == '-nan' then exists[v ] = nan -- NaN cannot be a table key, so use a proxy variable.true
end
end
end
return ret