[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]