Module:Math: Difference between revisions
add average
m>Dragons flight (Adds comments, slight reordering of functions.) |
m>Dragons flight (add average) |
||
Line 187: | Line 187: | ||
return min_value | return min_value | ||
end | |||
--[[ | |||
average | |||
Finds the average | |||
Usage: | |||
{{#invoke:Math| average | value1 | value2 | ... }} | |||
OR | |||
{{#invoke:Math| average }} | |||
When used with no arguments, it takes its input from the parent | |||
frame. Note, any values that do not evaluate to numbers are ignored. | |||
]] | |||
function z.average( frame ) | |||
local args = frame.args; | |||
if args[1] == nil then | |||
local parent = frame:getParent(); | |||
args = parent.args; | |||
end | |||
local sum = 0; | |||
local count = 0; | |||
local i = 1; | |||
while args[i] ~= nil do | |||
local val = z._cleanNumber( frame, args[i] ); | |||
if val ~= nil then | |||
sum = sum + val | |||
count = count + 1 | |||
end | |||
i = i + 1; | |||
end | |||
return (count == 0 and 0 or sum/count) | |||
end | end | ||