Skip some `Math.atan2()` tests.

Linux `atan2(3)` man page says:

```
If  y is positive infinity (negative infinity) and x is positive infinity,
+pi/4 (-pi/4) is re‐ turned.
```

But on Microsoft VC/MinGW, `atan2()` returns `NaN` if either of
arguments is infinite. So we skip those tests on the platforms.
parent 7f66e50b
......@@ -209,17 +209,18 @@ assert('Math.atan2') do
assert_float(+Math::PI, Math.atan2(+0.0, -0.0))
assert_float(-Math::PI, Math.atan2(-0.0, -0.0))
assert_float(0, Math.atan2(0, 1))
assert_float(Math::PI / 4, Math.atan2(1, 1))
assert_float(Math::PI / 2, Math.atan2(1, 0))
inf = Float::INFINITY
skip "Math.atan2() return NaN" if Math.atan2(+inf, -inf).nan?
expected = 3.0 * Math::PI / 4.0
assert_float(+expected, Math.atan2(+inf, -inf))
assert_float(-expected, Math.atan2(-inf, -inf))
expected = Math::PI / 4.0
assert_float(+expected, Math.atan2(+inf, +inf))
assert_float(-expected, Math.atan2(-inf, +inf))
assert_float(0, Math.atan2(0, 1))
assert_float(Math::PI / 4, Math.atan2(1, 1))
assert_float(Math::PI / 2, Math.atan2(1, 0))
end
assert('Math.ldexp') do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment