<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FSakretsu</id>
	<title>Module:Sandbox/Sakretsu - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FSakretsu"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Sakretsu&amp;action=history"/>
	<updated>2026-08-11T05:37:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Sakretsu&amp;diff=146160&amp;oldid=prev</id>
		<title>imported&gt;Sakretsu: test</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Sakretsu&amp;diff=146160&amp;oldid=prev"/>
		<updated>2018-08-06T23:16:44Z</updated>

		<summary type="html">&lt;p&gt;test&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local max = tonumber(frame.args[1])&lt;br /&gt;
	if not max then return end&lt;br /&gt;
	local n = string.match(mw.site.stats.edits + mw.site.stats.pages + os.time(), &amp;#039;%d%d%d$&amp;#039;)&lt;br /&gt;
	n = tonumber(n)&lt;br /&gt;
	while n &amp;gt; max do&lt;br /&gt;
		n = n - max&lt;br /&gt;
	end&lt;br /&gt;
	return n&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getBigRandom(l, u)&lt;br /&gt;
	-- Gets a random integer between l and u, and is not limited to RAND_MAX.&lt;br /&gt;
	math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000))&lt;br /&gt;
	local r = 0&lt;br /&gt;
	local n = 2^math.random(30) -- Any power of 2.&lt;br /&gt;
	local limit = math.ceil(53 / (math.log(n) / math.log(2)))&lt;br /&gt;
	for i = 1, limit do&lt;br /&gt;
		r = r + math.random(0, n - 1) / (n^i)&lt;br /&gt;
	end&lt;br /&gt;
	return math.floor(r * (u - l + 1)) + l&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.number(frame)&lt;br /&gt;
	-- Gets a random number.&lt;br /&gt;
	first = tonumber(frame.args[1])&lt;br /&gt;
	second = tonumber(frame.args[2])&lt;br /&gt;
	-- This needs to use if statements as math.random won&amp;#039;t accept explicit nil values as arguments.&lt;br /&gt;
	if first then&lt;br /&gt;
		if second then&lt;br /&gt;
			if first &amp;gt; second then -- Second number cannot be less than the first, or it causes an error.&lt;br /&gt;
				first, second = second, first&lt;br /&gt;
			end&lt;br /&gt;
			return getBigRandom(first, second)&lt;br /&gt;
		else&lt;br /&gt;
			return getBigRandom(1, first)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return math.random()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Sakretsu</name></author>
	</entry>
</feed>