Module:Rank
Documentation for this module may be created at Module:Rank/doc
local p = {}
p.Fuzz = function(frame)
rank = tonumber(frame.args[1]) or 1
thresholds = frame.args[2] or "10 20 30 40 50 75 100 50"
thresh_table = {}
last = 1
for token in string.gmatch(thresholds, "[^%s]+") do
token = tonumber(token) or last
table.insert(thresh_table, token)
last = token
end
if #thresh_table == 1 then
table.insert(thresh_table, last)
end
if rank <= thresh_table[1] then
return rank
end
idx = 2
while idx < #thresh_table do
if rank <= thresh_table[idx] then
return "Top "..thresh_table[idx]
end
idx = idx + 1
end
toprank = math.ceil((rank-thresh_table[#thresh_table-1])/thresh_table[#thresh_table])*thresh_table[#thresh_table]+thresh_table[#thresh_table-1]
return "Top "..toprank
end
return p