From: beatles Date: Sat, 3 Nov 2007 13:29:10 +0000 (+0000) Subject: Support Ruby 1.8.6.111 (or higher) and GSL 1.10 (or higher). X-Git-Tag: 20170902~323 X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=commitdiff_plain;h=fa6823d9e01b22bb6cec5496240a07989369241c Support Ruby 1.8.6.111 (or higher) and GSL 1.10 (or higher). --- diff --git a/mk_rate b/mk_rate index 919a7c5..8e2c598 100755 --- a/mk_rate +++ b/mk_rate @@ -368,7 +368,7 @@ class WinLossMatrix keys = players.keys.sort size = keys.size matrix = - Matrix[* + GSL::Matrix[* ((0...size).collect do |k| p1 = keys[k] p1_hash = players[p1] @@ -424,11 +424,15 @@ class WinLossMatrix copied_cols = [] (0...size).each do |i| next if i == delete_index - row = @matrix.get_row(i) # get_row returns a copy of the row + row = @matrix.row(i).clone row.delete_at(delete_index) copied_cols << row end - new_matrix = Matrix[*copied_cols] + if copied_cols.size == 0 + new_matrix = GSL::Matrix.new + else + new_matrix = GSL::Matrix[*copied_cols] + end new_keys = @keys.clone new_keys.delete_at(delete_index) return WinLossMatrix.new(new_keys, new_matrix) @@ -497,7 +501,7 @@ class WinLossMatrix result = subsets.collect do |keys| matrix = - Matrix[* + GSL::Matrix[* ((0...keys.size).collect do |k| p1 = @keys.index(keys[k]) ((0...keys.size).collect do |j| @@ -505,7 +509,7 @@ class WinLossMatrix 0 else p2 = @keys.index(keys[j]) - @matrix[p1][p2] + @matrix[p1,p2] end end) end)]