local p = {}
local getArgs = require('Module:Arguments').getArgs
function p.hello()
return "Hello world!"
end
function p.lang(frame)
local args=getArgs(frame)
local text=args[1]
local lang=args[2]
local span=mw.html.create('span')
:attr('lang',lang)
:wikitext(text)
return span
end
local function qp(a,b,c)
local ans=1
local base=a
local exp=b
while exp>0 do
if exp%2==1 then
ans=ans*base%c
end
base=base*base%c
exp=(exp-(exp%2))/2
end
return ans
end
function p.rand(frame)
local prime=0x125E591
local args=getArgs(frame)
local bound=args[1]
local time=math.modf(os.time()*math.random())%prime
local pert=3254518517%prime
pert=qp(qp(pert,time,prime),qp(time,pert,prime),prime)
return pert%bound
end
return p