summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bignum.c2
-rw-r--r--test/ruby/test_numeric.rb4
2 files changed, 5 insertions, 1 deletions
diff --git a/bignum.c b/bignum.c
index 94d0d50c8f..291ed96f01 100644
--- a/bignum.c
+++ b/bignum.c
@@ -7028,7 +7028,7 @@ int_pow_tmp2(VALUE x, VALUE y, long mm, int nega_flg)
/*
* Document-method: Integer#pow
* call-seq:
- * integer.pow(integer) -> integer
+ * integer.pow(numeric) -> numeric
* integer.pow(integer, integer) -> integer
*
* Returns (modular) exponentiation as:
diff --git a/test/ruby/test_numeric.rb b/test/ruby/test_numeric.rb
index 9b17fbb2a5..02a6b8f4a8 100644
--- a/test/ruby/test_numeric.rb
+++ b/test/ruby/test_numeric.rb
@@ -386,6 +386,10 @@ class TestNumeric < Test::Unit::TestCase
end
def test_pow
+ assert_equal(2**3, 2.pow(3))
+ assert_equal(2**-1, 2.pow(-1))
+ assert_equal(2**0.5, 2.pow(0.5))
+ assert_equal((-1)**0.5, -1.pow(0.5))
assert_equal(3**3 % 8, 3.pow(3, 8))
assert_equal(3**3 % -8, 3.pow(3,-8))
assert_equal(3**2 % -2, 3.pow(2,-2))