aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-20 03:53:19 +0000
committerwanabe <wanabe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-20 03:53:19 +0000
commitabc20ed0f4b0067ad912f345245161426d331ed8 (patch)
tree0202e6b890753aac0f9e2143a1489919c3507ed1
parentaea1193a9635f732315043248dee6b3da48739a1 (diff)
downloadruby-abc20ed0f4b0067ad912f345245161426d331ed8.tar.gz
* lib/matrix.rb (Matrix#rank): revert a part of r20859 to avoid
infinite loop. [Bug #1020] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/matrix.rb5
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bc2d0cb4dd..738e08e63d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 20 12:51:39 2009 wanabe <s.wanabe@gmail.com>
+
+ * lib/matrix.rb (Matrix#rank): revert a part of r20859 to avoid
+ infinite loop. [Bug #1020]
+
Mon Jul 20 11:12:54 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in, Makefile.in (TEST_RUNNABLE): tests are no
diff --git a/lib/matrix.rb b/lib/matrix.rb
index 5d350bb8f8..95c8273522 100644
--- a/lib/matrix.rb
+++ b/lib/matrix.rb
@@ -770,7 +770,7 @@ class Matrix
end
rank = 0
k = 0
- loop do
+ begin
if (akk = a[k][k]) == 0
i = k
exists = true
@@ -812,8 +812,7 @@ class Matrix
end
end
rank += 1
- break unless (k += 1) <= a_column_size - 1
- end
+ end while (k += 1) <= a_column_size - 1
return rank
end