模块:沙盒/Shinonome Akebono/S

50px 模块文档[创建]
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 b>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=os.time()%prime
    local pert=3254518517%prime
    pert=qp(qp(pert,time,prime),qp(time,pert,prime),prime)
    return pert%bound
end
return p