Module:Math: Difference between revisions

Jump to navigation Jump to search
better median handling
en>Primefac
(implementing pseudo-TPER to add "median" - see Special:PermaLink/861908321#Module:Average)
en>Primefac
(better median handling)
Line 234:
 
function wrap.median(args)
return p._median(unpackNumberArgs(args))
end
 
function p._median(args...)
local vals = {}makeArgArray(...)
local count = 0#vals
table.insertsort(vals,v)
for k,v in pairs(args) do
if v == string.match(v,'(%d+)') then
if p._mod(count/, 2) == math.ceil(count/2)0 then
table.insert(vals,v)
count = count+1
end
end
table.sort(vals,function(a,b) return tonumber(a) < tonumber(b) end) -- force number sort
if count/2 == math.ceil(count/2) then
return (vals[count/2] + vals[count/2+1])/2
else
return vals[math.ceil(count/2)+1];
end
end
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu