diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-17 21:50:31 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-17 21:50:31 +0000 |
commit | 51208b8e84ecf134ddd9b9d287d72142adb93efc (patch) | |
tree | 56ba0a12b46f6b29931ab8ed46b7b36b5f579b21 /lib | |
parent | c98396334f7bf980e5bed863d86022fc28f66e2d (diff) |
* lib/matrix.rb (determinant): Trivial optimization (thanks to Benoit Daloze)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r-- | lib/matrix.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/matrix.rb b/lib/matrix.rb index ee26cb94d0..b98fc85839 100644 --- a/lib/matrix.rb +++ b/lib/matrix.rb @@ -747,12 +747,12 @@ class Matrix when 2 + m[0][0] * m[1][1] - m[0][1] * m[1][0] when 3 - m0 = m[0]; m1 = m[1]; m2 = m[2] + m0, m1, m2 = m + m0[0] * m1[1] * m2[2] - m0[0] * m1[2] * m2[1] \ - m0[1] * m1[0] * m2[2] + m0[1] * m1[2] * m2[0] \ + m0[2] * m1[0] * m2[1] - m0[2] * m1[1] * m2[0] when 4 - m0 = m[0]; m1 = m[1]; m2 = m[2]; m3 = m[3] + m0, m1, m2, m3 = m + m0[0] * m1[1] * m2[2] * m3[3] - m0[0] * m1[1] * m2[3] * m3[2] \ - m0[0] * m1[2] * m2[1] * m3[3] + m0[0] * m1[2] * m2[3] * m3[1] \ + m0[0] * m1[3] * m2[1] * m3[2] - m0[0] * m1[3] * m2[2] * m3[1] \ |