ruby-changes:14434
From: nobu <ko1@a...>
Date: Sun, 10 Jan 2010 05:39:42 +0900 (JST)
Subject: [ruby-changes:14434] Ruby:r26264 (ruby_1_8): reverted r26263.
nobu 2010-01-10 05:39:28 +0900 (Sun, 10 Jan 2010) New Revision: 26264 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26264 Log: reverted r26263. Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/lib/matrix.rb branches/ruby_1_8/test/matrix/test_matrix.rb Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 26263) +++ ruby_1_8/ChangeLog (revision 26264) @@ -1,13 +1,3 @@ -Sun Jan 10 05:35:26 2010 Nobuyoshi Nakada <nobu@r...> - - * lib/matrix.rb (Matrix#inverse_from): use #quo. backported r9490. - - * lib/matrix.rb (Matrix#determinant): ditto. [ruby-core:27507] - - * lib/matrix.rb (Matrix#rank): ditto. - - * lib/matrix.rb (Matrix::Scalar#initialize): ditto. - Sun Jan 10 04:54:36 2010 Nobuyoshi Nakada <nobu@r...> * class.c (rb_define_class): raise TypeError same as class Index: ruby_1_8/lib/matrix.rb =================================================================== --- ruby_1_8/lib/matrix.rb (revision 26263) +++ ruby_1_8/lib/matrix.rb (revision 26264) @@ -549,7 +549,7 @@ # # Returns the inverse of the matrix. - # Matrix[[-1, -1], [0, -1]].inverse + # Matrix[[1, 2], [2, 1]].inverse # => -1 1 # 0 -1 # @@ -585,7 +585,7 @@ size.times do |i| next if i == k - q = a[i][k].quo(akk) + q = a[i][k] / akk a[i][k] = 0 (k + 1 ... size).each do |j| @@ -597,10 +597,10 @@ end (k + 1 ... size).each do |j| - a[k][j] = a[k][j].quo(akk) + a[k][j] /= akk end size.times do |j| - @rows[k][j] = @rows[k][j].quo(akk) + @rows[k][j] /= akk end end self @@ -649,7 +649,7 @@ # Returns the determinant of the matrix. If the matrix is not square, the # result is 0. # Matrix[[7,6], [3,9]].determinant - # => 45 + # => 63 # def determinant return 0 unless square? @@ -670,7 +670,7 @@ end (k + 1 ... size).each do |i| - q = a[i][k].quo(akk) + q = a[i][k] / akk (k + 1 ... size).each do |j| a[i][j] -= a[k][j] * q end @@ -720,7 +720,7 @@ end (k + 1 ... a_row_size).each do |i| - q = a[i][k].quo(akk) + q = a[i][k] / akk (k + 1... a_column_size).each do |j| a[i][j] -= a[k][j] * q end @@ -879,7 +879,7 @@ self * other.inverse else x, y = other.coerce(self) - x.quo(y) + x / y end end Index: ruby_1_8/test/matrix/test_matrix.rb =================================================================== --- ruby_1_8/test/matrix/test_matrix.rb (revision 26263) +++ ruby_1_8/test/matrix/test_matrix.rb (revision 26264) @@ -150,7 +150,7 @@ end def test_determinant - assert_equal(45, Matrix[[7,6], [3,9]].determinant) - assert_equal(-18, Matrix[[2,0,1],[0,-2,2],[1,2,3]].determinant) + assert_equal(45, Matrix[[7.0,6.0], [3.0,9.0]].determinant) + assert_equal(-18, Matrix[[2.0,0.0,1.0],[0.0,-2.0,2.0],[1.0,2.0,3.0]].determinant) end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/