Module:Sandbox/IJReid/Mathematics

From blackwiki
Jump to navigation Jump to search

Usage

{{#invoke:Sandbox/IJReid|function_name}}

Functions 
Multiplication - {{#invoke:Sandbox/IJReid|multiplication|case_1|case_2}}
Division - {{#invoke:Sandbox/IJReid|division|case_1|case_2}}
Subtraction - {{#invoke:Sandbox/IJReid|subtraction|case_1|case_2}}
Addition - {{#invoke:Sandbox/IJReid|addition|case_1|case_2}}
Calculations for archival templates 
{{#invoke:Sandbox/IJReid/Mathematics|subtraction|{{#invoke:Sandbox/IJReid/Mathematics|multiplication|{{Age in days|01 January {{safesubst:CURRENTYEAR}}}}|24}}|{{#invoke:Sandbox/IJReid/Mathematics|subtraction|24|{{safesubst:CURRENTHOUR}}}}}}
Lua error at line 13: attempt to perform arithmetic on field '?' (a string value).
75



--Module to calculate basic math values
mathematics = {}

mathematics.addition = function(input)				--Addition function
	local sum = 0									--Define variable for use in loop
	for i, arg in pairs(input.args) do				--Loop to run through all arguments
		sum = sum + arg								--Add argument value to sum
	end
	return sum										--Output the sum to the module
end

mathematics.subtraction = function(input)			--Subtraction function
	local dif = input.args[1] - input.args[2]		--Subtract second argument from first
	return dif										--Outpud difference to module
end

mathematics.multiplication = function(input)		--Multiplication function
	local product = 1								--Set product as 1 (so multiplication of it works)
	local pi = 3.141592653589793					--Set pi as 15 digits of precision
	for i, arg in pairs(input.args) do				--Allow multiple arguments
		if (arg == "pi" or arg == "π" or arg == 3.14) then	--Set pi to π argument
			arg = pi
		else
			product = product * arg					--Multiply arguments together
		end
	end
	return product									--Output product to module
end

mathematics.division = function(input)				--Division function
	local quotient = input.args[1] / input.args[2]	--Divide arg1 by arg2
	return quotient									--Output quotient to module
end

return mathematics									--Output module to place of use