diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-13 21:06:39 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-13 21:06:39 +0000 |
commit | 93f023feae1463b1f88d1d2f599c5b5ad34bf329 (patch) | |
tree | eb23af3fd4b2730f2c983bfab5548b525dee5e76 | |
parent | c12d66f0d11aa79dc937e41b6fd5e481d9973d36 (diff) | |
download | ruby-93f023feae1463b1f88d1d2f599c5b5ad34bf329.tar.gz |
* lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3
[rubyspec:df87040be371]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/matrix/eigenvalue_decomposition.rb | 12 |
2 files changed, 9 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Mon Jan 14 06:06:03 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * lib/matrix/eigenvalue_decomposition: Backport bugfix of Jama 1.0.3 + [rubyspec:df87040be371] + Sun Jan 13 16:45:00 2013 Zachary Scott <zachary@zacharyscott.net> * ext/psych/yaml/scanner.c: Fix typos, patch by James Dabbs diff --git a/lib/matrix/eigenvalue_decomposition.rb b/lib/matrix/eigenvalue_decomposition.rb index 1949406687..0dd9d42f29 100644 --- a/lib/matrix/eigenvalue_decomposition.rb +++ b/lib/matrix/eigenvalue_decomposition.rb @@ -659,14 +659,10 @@ class Matrix q = @h[k+1][k-1] r = (notlast ? @h[k+2][k-1] : 0.0) x = p.abs + q.abs + r.abs - if (x != 0.0) - p /= x - q /= x - r /= x - end - end - if (x == 0.0) - break + next if x == 0 + p /= x + q /= x + r /= x end s = Math.sqrt(p * p + q * q + r * r) if (p < 0) |