diff options
author | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-13 05:36:59 +0000 |
---|---|---|
committer | mrkn <mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-13 05:36:59 +0000 |
commit | e6bea8978c9ec6b69a546f68416dd87dacac8b2a (patch) | |
tree | a32b807a7dd1fee93317528a5a4834a74fe135c0 | |
parent | da923d2b1f6de3ba2947c83cf89c6affd85cc0d9 (diff) | |
download | ruby-e6bea8978c9ec6b69a546f68416dd87dacac8b2a.tar.gz |
* lib/cmath.rb (CMath.cbrt): returns the principal value of the cube
root of the argument. fix #3676
* test/test_cmath.rb (test_cbrt_returns_principal_value_of_cube_root):
test for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib/cmath.rb | 8 | ||||
-rw-r--r-- | test/test_cmath.rb | 4 |
3 files changed, 14 insertions, 6 deletions
@@ -1,3 +1,11 @@ +Mon Jun 13 14:35:00 2011 Kenta Murata <mrkn@mrkn.jp> + + * lib/cmath.rb (CMath.cbrt): returns the principal value of the cube + root of the argument. fix #3676 + + * test/test_cmath.rb (test_cbrt_returns_principal_value_of_cube_root): + test for the above change. + Mon Jun 13 14:17:00 2011 Kenta Murata <mrkn@mrkn.jp> * lib/test/unit.rb (Test::Unit::GlobOption#non_options): fix typo. diff --git a/lib/cmath.rb b/lib/cmath.rb index 24a0e70f9c..4751f6c4a1 100644 --- a/lib/cmath.rb +++ b/lib/cmath.rb @@ -122,13 +122,9 @@ module CMath end ## - # returns the cube root of +z+ + # returns the principal value of the cube root of +z+ def cbrt(z) - if z.real? - cbrt!(z) - else - Complex(z) ** (1.0/3) - end + Complex(z) ** (1.0/3) end ## diff --git a/test/test_cmath.rb b/test/test_cmath.rb index 46a357fab2..4f85ec3d04 100644 --- a/test/test_cmath.rb +++ b/test/test_cmath.rb @@ -5,4 +5,8 @@ class TestCMath < Test::Unit::TestCase def test_sqrt assert_equal CMath.sqrt(1.0.i), CMath.sqrt(1.i), '[ruby-core:31672]' end + + def test_cbrt_returns_principal_value_of_cube_root + assert_equal CMath.cbrt(-8), (-8)**(1.0/3), '#3676' + end end |