ruby-changes:13215
From: marcandre <ko1@a...>
Date: Thu, 17 Sep 2009 06:26:10 +0900 (JST)
Subject: [ruby-changes:13215] Ruby:r24972 (ruby_1_8): * 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:25:53 +0900 (Thu, 17 Sep 2009) New Revision: 24972 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24972 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: branches/ruby_1_8/ChangeLog branches/ruby_1_8/lib/matrix.rb Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 24971) +++ ruby_1_8/ChangeLog (revision 24972) @@ -1,3 +1,9 @@ +Thu Sep 17 06:25:32 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:19:27 2009 Marc-Andre Lafortune <ruby-core@m...> * lib/matrix.rb: Optimizations Index: ruby_1_8/lib/matrix.rb =================================================================== --- ruby_1_8/lib/matrix.rb (revision 24971) +++ ruby_1_8/lib/matrix.rb (revision 24972) @@ -701,14 +701,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/