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

R版のソースコードを追加。
author "uncorrelated zombie" <uncorrelated@yahoo.co.jp>
date Sat, 04 Feb 2012 04:10:01 +0900
parents 30da8c1da4d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
861b93741d60 id:sumim氏のSmalltalk版とRuby版のコードを追加。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
1 #!/usr/bin/env ruby
861b93741d60 id:sumim氏のSmalltalk版とRuby版のコードを追加。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
2 class Looping
4
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
3 def initialize()
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
4 @n0 = 0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
5 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
6 def calc(n)
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
7 n1 = @n0 + (1 - 2*(n%2))
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
8 @n0 = n
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
9 n1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
10 end
5
861b93741d60 id:sumim氏のSmalltalk版とRuby版のコードを追加。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
11 end
861b93741d60 id:sumim氏のSmalltalk版とRuby版のコードを追加。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
12
4
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
13 if __FILE__ == $0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
14 s = Looping.new
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
15 c = 0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
16 n = 1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
17 t1 = Time.now
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
18 while c<2147483647
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
19 n = s.calc(n)
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
20 c+=1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
21 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
22 t2 = Time.now
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
23 puts "#{n} Ruby\t#{t2-t1}"
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
24 end