Jump to content

Module:Math: Difference between revisions

fix calculation
imported>Rob Kam
m (1 revision imported)
enwiki>Primefac
(fix calculation)
Line 219: Line 219:
if max_value then
if max_value then
return max_value
return max_value
end
end
--[[
median
Find the median of set of numbers
Usage:
{{#invoke:Math | median | number1 | number2 | ...}}
OR
{{#invoke:Math | median }}
]]
function wrap.median(args)
return p._median(unpackNumberArgs(args))
end
function p._median(...)
local vals = makeArgArray(...)
local count = #vals
table.sort(vals)
if count == 0 then
return 0
end
if p._mod(count, 2) == 0 then
return (vals[count/2] + vals[count/2+1])/2
else
return vals[math.ceil(count/2)]
end
end
end
end
Line 244: Line 275:
if min_value then
if min_value then
return min_value
return min_value
end
end
--[[
sum
Finds the sum
Usage:
{{#invoke:Math| sum | value1 | value2 | ... }}
OR
{{#invoke:Math| sum }}
Note, any values that do not evaluate to numbers are ignored.
]]
function wrap.sum(args)
return p._sum(unpackNumberArgs(args))
end
function p._sum(...)
local sums, count = fold((function(a, b) return a + b end), ...)
if not sums then
return 0
else
return sums
end
end
end
end
Line 304: Line 361:


Usage:
Usage:
{{#invoke:Math | log | x }}
{{#invoke:Math | log10 | x }}
]]
]]


Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.