Module:Sandbox/Lemondoge/Calc

-This (test) module performs a calculation.- local p = {}

local function RError(msg) return mw.ustring.format(' %s', msg) end

function p.add(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 + num2 end

function p.addition(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 + num2 end

function p.minus(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 - num2 end

function p.subtraction(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 - num2 end

function p.times(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) local errordetect = tonumber(frame.args[3]) if num2 == 0 and errordetect ~= 1 then return RError("You cannot multiply a number by zero.") else return num1 * num2 end end

function p.multiplication(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 * num2 end

function p.double(frame) local num1 = tonumber(frame.args[1]) return num1 * 2 end

function p.div(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) local antinotanumber = tonumber(frame.args[3]) if num1 == 0 and num2 == 0 and antinotanumber == 1 then return 1 else return num1 / num2 end end

function p.division(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) local antinotanumber = tonumber(frame.args[3]) if num1 == 0 and num2 == 0 and antinotanumber == 1 then return 1 else return num1 / num2 end end

function p.mod(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 % num2 end

function p.modulo(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 % num2 end

function p.exp(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 ^ num2 end

function p.exponentiation(frame) local num1 = tonumber(frame.args[1]) local num2 = tonumber(frame.args[2]) return num1 ^ num2 end

return p