summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-01 06:10:40 +0000
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-01 06:10:40 +0000
commit376b8251271da10ff3571b9a15c25333bb4492bc (patch)
tree95b2aba8da9527ba989706632a2814bd5d9d7c6e
parentf4dda52025433e232f931ffa1cb0473684128a5a (diff)
* lib/matrix: Add Matrix#round
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--lib/matrix.rb7
3 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5cdfe6ceda..01561021a7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Fri Jul 1 15:10:22 2011 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
+
+ * lib/matrix: Add Matrix#round
+
Fri Jul 1 11:41:12 2011 NARUSE, Yui <naruse@ruby-lang.org>
* string.c (tr_trans): free heap ptr when the str is not embeded.
diff --git a/NEWS b/NEWS
index 1ce506dda2..1fd0a0c010 100644
--- a/NEWS
+++ b/NEWS
@@ -164,6 +164,7 @@ with all sufficient information, see the ChangeLog file.
* Matrix#normal?
* Matrix#orthogonal?
* Matrix#permutation?
+ * Matrix#round
* Matrix#symmetric?
* Matrix#unitary?
* Matrix#upper_triangular?
diff --git a/lib/matrix.rb b/lib/matrix.rb
index 3242cde9b2..12f99925bc 100644
--- a/lib/matrix.rb
+++ b/lib/matrix.rb
@@ -89,6 +89,7 @@ end
# * <tt> #determinant </tt>
# * <tt> #det </tt>
# * <tt> #rank </tt>
+# * <tt> #round </tt>
# * <tt> #trace </tt>
# * <tt> #tr </tt>
# * <tt> #transpose </tt>
@@ -1125,6 +1126,12 @@ class Matrix
rank
end
+ # Returns a matrix with entries rounded to the given precision
+ # (see Float#round)
+ #
+ def round(ndigits=0)
+ map{|e| e.round(ndigits)}
+ end
#
# Returns the trace (sum of diagonal elements) of the matrix.