mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fix assertion failed in Complex.polar without NDEBUG (#3551)
Fixes [Bug #17172].
This commit is contained in:
parent
10290da54d
commit
68b5f14d53
Notes:
git
2020-09-16 19:27:40 +09:00
Merged-By: mrkn <mrkn@ruby-lang.org>
2 changed files with 13 additions and 0 deletions
|
@ -732,6 +732,14 @@ nucomp_s_polar(int argc, VALUE *argv, VALUE klass)
|
||||||
nucomp_real_check(arg);
|
nucomp_real_check(arg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (RB_TYPE_P(abs, T_COMPLEX)) {
|
||||||
|
get_dat1(abs);
|
||||||
|
abs = dat->real;
|
||||||
|
}
|
||||||
|
if (RB_TYPE_P(arg, T_COMPLEX)) {
|
||||||
|
get_dat1(arg);
|
||||||
|
arg = dat->real;
|
||||||
|
}
|
||||||
return f_complex_polar(klass, abs, arg);
|
return f_complex_polar(klass, abs, arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -220,6 +220,11 @@ class Complex_Test < Test::Unit::TestCase
|
||||||
def test_polar
|
def test_polar
|
||||||
assert_equal([1,2], Complex.polar(1,2).polar)
|
assert_equal([1,2], Complex.polar(1,2).polar)
|
||||||
assert_equal(Complex.polar(1.0, Math::PI * 2 / 3), Complex.polar(1, Math::PI * 2 / 3))
|
assert_equal(Complex.polar(1.0, Math::PI * 2 / 3), Complex.polar(1, Math::PI * 2 / 3))
|
||||||
|
|
||||||
|
assert_in_out_err([], <<-'end;', ['OK'], [])
|
||||||
|
Complex.polar(1, Complex(1, 0))
|
||||||
|
puts :OK
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_uplus
|
def test_uplus
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue