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

ruby-changes:13212

From: marcandre <ko1@a...>
Date: Thu, 17 Sep 2009 06:07:26 +0900 (JST)
Subject: [ruby-changes:13212] Ruby:r24969 (trunk): * lib/matrix.rb (Matrix#rank): Two bug fixes. One made Matrix[[0,0],[0,0],[1,0]].rank raise a NoMethodError while the other one had Matrix[[0,1],[0,0],[1,0]].rank raise a TypeError.

marcandre	2009-09-17 06:04:07 +0900 (Thu, 17 Sep 2009)

  New Revision: 24969

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24969

  Log:
    * lib/matrix.rb (Matrix#rank): Two bug fixes. One made Matrix[[0,0],[0,0],[1,0]].rank raise a NoMethodError while the other one had Matrix[[0,1],[0,0],[1,0]].rank raise a TypeError.

  Modified files:
    trunk/ChangeLog
    trunk/lib/matrix.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 24968)
+++ ChangeLog	(revision 24969)
@@ -1,3 +1,9 @@
+Thu Sep 17 06:03:40 2009  Marc-Andre Lafortune  <ruby-core@m...>
+
+	* lib/matrix.rb (Matrix#rank): Two bug fixes. One made
+	  Matrix[[0,0],[0,0],[1,0]].rank raise a NoMethodError while the other
+	  one had Matrix[[0,1],[0,0],[1,0]].rank raise a TypeError.
+
 Thu Sep 17 06:02:04 2009  Marc-Andre Lafortune  <ruby-core@m...>
 
 	* lib/matrix.rb: Optimizations
Index: lib/matrix.rb
===================================================================
--- lib/matrix.rb	(revision 24968)
+++ lib/matrix.rb	(revision 24969)
@@ -751,14 +751,14 @@
     rank = 0
     a_column_size.times do |k|
       if (akk = a[k][k]) == 0
-        i = (k+1 ... a_column_size).find {|i|
+        i = (k+1 ... a_row_size).find {|i|
           a[i][k] != 0
         }
         if i
           a[i], a[k] = a[k], a[i]
           akk = a[k][k]
         else
-          i = (k+1 ... a_row_size).find {|i|
+          i = (k+1 ... a_column_size).find {|i|
             a[k][i] != 0
           }
           next if i.nil?

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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