summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/matrix.rb5
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bc2d0cb4d..738e08e63 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 5d350bb8f..95c827352 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