mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/ruby/test_math.rb: add tests for the above change.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
972713cee1
commit
b5f8aec516
2 changed files with 23 additions and 0 deletions
|
@ -3,6 +3,8 @@ Tue Mar 3 14:47:30 2015 Kazuki Tanaka <gogotanaka@ruby-lang.org>
|
|||
* math.c (num2dbl_with_to_f): direct casting from Rational to double.
|
||||
[Feature #10909]
|
||||
|
||||
* test/ruby/test_math.rb: add tests for the above change.
|
||||
|
||||
Tue Mar 3 07:52:20 2015 Rei Odaira <Rei.Odaira@gmail.com>
|
||||
|
||||
* test/ruby/test_symbol.rb: avoid a false positive in AIX.
|
||||
|
|
|
@ -42,6 +42,12 @@ class TestMath < Test::Unit::TestCase
|
|||
check(0.0, Math.cos(2 * Math::PI / 4))
|
||||
check(-1.0, Math.cos(4 * Math::PI / 4))
|
||||
check(0.0, Math.cos(6 * Math::PI / 4))
|
||||
check(0.5403023058681398, Math.cos(1))
|
||||
check(-0.7112665029764864, Math.cos(1 << 62))
|
||||
check(0.9289154176164999, Math.cos((2 ** 62)/(3 ** 40).to_r))
|
||||
check(0.9820680774815206, Math.cos((2 ** 61)/(3 ** 40).to_r))
|
||||
check(0.4194382061248139, Math.cos((2 ** 62)/(3 ** 39).to_r))
|
||||
check(0.8424482791616391, Math.cos((2 ** 61)/(3 ** 39).to_r))
|
||||
end
|
||||
|
||||
def test_sin
|
||||
|
@ -319,4 +325,19 @@ class TestMath < Test::Unit::TestCase
|
|||
|
||||
Bignum.class_eval { alias to_f _to_f }
|
||||
end
|
||||
|
||||
def test_override_rational_to_f
|
||||
Rational.class_eval do
|
||||
alias _to_f to_f
|
||||
def to_f
|
||||
(self + 1)._to_f
|
||||
end
|
||||
end
|
||||
|
||||
check(Math.cos((0r + 1)._to_f), Math.cos(0r))
|
||||
check(Math.exp((0r + 1)._to_f), Math.exp(0r))
|
||||
check(Math.log((0r + 1)._to_f), Math.log(0r))
|
||||
|
||||
Rational.class_eval { alias to_f _to_f }
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue