Module:Math: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
en>Primefac (implementing pseudo-TPER to add "median" - see Special:PermaLink/861908321#Module:Average) |
en>Primefac (better median handling) |
||
Line 234: | Line 234: | ||
function wrap.median(args) |
function wrap.median(args) |
||
return p._median(args) |
return p._median(unpackNumberArgs(args)) |
||
end |
end |
||
function p._median( |
function p._median(...) |
||
local vals = |
local vals = makeArgArray(...) |
||
local count = |
local count = #vals |
||
⚫ | |||
for k,v in pairs(args) do |
|||
if v == string.match(v,'(%d+)') then |
|||
⚫ | |||
⚫ | |||
count = count+1 |
|||
end |
|||
end |
|||
table.sort(vals,function(a,b) return tonumber(a) < tonumber(b) end) -- force number sort |
|||
⚫ | |||
return (vals[count/2] + vals[count/2+1])/2 |
return (vals[count/2] + vals[count/2+1])/2 |
||
else |
else |
||
return vals[ |
return vals[count/2+1] |
||
end |
end |
||
end |
end |