annotate Looping.lua @ 12:dab1e83799e4 >>178 tip

R版のソースコードを追加。
author "uncorrelated zombie" <uncorrelated@yahoo.co.jp>
date Sat, 04 Feb 2012 04:10:01 +0900
parents b952a5d72c9f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
1 --
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
2 -- This source code was copied from http://hibari.2ch.net/test/read.cgi/tech/1297491072/414
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
3 --
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
4
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
5 Looping = {}
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
6 Looping_mt = { __index=Looping }
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
7
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
8 function Looping.new()
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
9 tmp = {}
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
10 tmp.n0 = 0
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
11 return setmetatable (tmp, Looping_mt)
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
12 end
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
13
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
14 function Looping:calc(n)
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
15 n1 = self.n0 + (1 - 2*(n%2))
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
16 self.n0 = n
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
17 return n1
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
18 end
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
19
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
20 s = Looping.new()
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
21 c = 0
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
22 n = 1
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
23 t1 = os.time()
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
24
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
25 while c<2147483647 do
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
26 n = s:calc(n)
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
27 c = c + 1
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
28 end
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
29
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
30 t2 = os.time()
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
31 -- Luaにマイクロ秒を計測するAPIが無いため精度に劣る。
b952a5d72c9f Luaのソースコードを追加。2ch.netからの転載。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
32 print(n, "Lua\t", t2-t1)