(self)
| 294 | @unittest.skipIf(sys.platform.startswith("sunos"), |
| 295 | "skipping, see gh-138573") |
| 296 | def testAtan2(self): |
| 297 | self.assertRaises(TypeError, math.atan2) |
| 298 | self.ftest('atan2(-1, 0)', math.atan2(-1, 0), -math.pi/2) |
| 299 | self.ftest('atan2(-1, 1)', math.atan2(-1, 1), -math.pi/4) |
| 300 | self.ftest('atan2(0, 1)', math.atan2(0, 1), 0) |
| 301 | self.ftest('atan2(1, 1)', math.atan2(1, 1), math.pi/4) |
| 302 | self.ftest('atan2(1, 0)', math.atan2(1, 0), math.pi/2) |
| 303 | self.ftest('atan2(1, -1)', math.atan2(1, -1), 3*math.pi/4) |
| 304 | |
| 305 | # math.atan2(0, x) |
| 306 | self.ftest('atan2(0., -inf)', math.atan2(0., NINF), math.pi) |
| 307 | self.ftest('atan2(0., -2.3)', math.atan2(0., -2.3), math.pi) |
| 308 | self.ftest('atan2(0., -0.)', math.atan2(0., -0.), math.pi) |
| 309 | self.assertEqual(math.atan2(0., 0.), 0.) |
| 310 | self.assertEqual(math.atan2(0., 2.3), 0.) |
| 311 | self.assertEqual(math.atan2(0., INF), 0.) |
| 312 | self.assertTrue(math.isnan(math.atan2(0., NAN))) |
| 313 | # math.atan2(-0, x) |
| 314 | self.ftest('atan2(-0., -inf)', math.atan2(-0., NINF), -math.pi) |
| 315 | self.ftest('atan2(-0., -2.3)', math.atan2(-0., -2.3), -math.pi) |
| 316 | self.ftest('atan2(-0., -0.)', math.atan2(-0., -0.), -math.pi) |
| 317 | self.assertEqual(math.atan2(-0., 0.), -0.) |
| 318 | self.assertEqual(math.atan2(-0., 2.3), -0.) |
| 319 | self.assertEqual(math.atan2(-0., INF), -0.) |
| 320 | self.assertTrue(math.isnan(math.atan2(-0., NAN))) |
| 321 | # math.atan2(INF, x) |
| 322 | self.ftest('atan2(inf, -inf)', math.atan2(INF, NINF), math.pi*3/4) |
| 323 | self.ftest('atan2(inf, -2.3)', math.atan2(INF, -2.3), math.pi/2) |
| 324 | self.ftest('atan2(inf, -0.)', math.atan2(INF, -0.0), math.pi/2) |
| 325 | self.ftest('atan2(inf, 0.)', math.atan2(INF, 0.0), math.pi/2) |
| 326 | self.ftest('atan2(inf, 2.3)', math.atan2(INF, 2.3), math.pi/2) |
| 327 | self.ftest('atan2(inf, inf)', math.atan2(INF, INF), math.pi/4) |
| 328 | self.assertTrue(math.isnan(math.atan2(INF, NAN))) |
| 329 | # math.atan2(NINF, x) |
| 330 | self.ftest('atan2(-inf, -inf)', math.atan2(NINF, NINF), -math.pi*3/4) |
| 331 | self.ftest('atan2(-inf, -2.3)', math.atan2(NINF, -2.3), -math.pi/2) |
| 332 | self.ftest('atan2(-inf, -0.)', math.atan2(NINF, -0.0), -math.pi/2) |
| 333 | self.ftest('atan2(-inf, 0.)', math.atan2(NINF, 0.0), -math.pi/2) |
| 334 | self.ftest('atan2(-inf, 2.3)', math.atan2(NINF, 2.3), -math.pi/2) |
| 335 | self.ftest('atan2(-inf, inf)', math.atan2(NINF, INF), -math.pi/4) |
| 336 | self.assertTrue(math.isnan(math.atan2(NINF, NAN))) |
| 337 | # math.atan2(+finite, x) |
| 338 | self.ftest('atan2(2.3, -inf)', math.atan2(2.3, NINF), math.pi) |
| 339 | self.ftest('atan2(2.3, -0.)', math.atan2(2.3, -0.), math.pi/2) |
| 340 | self.ftest('atan2(2.3, 0.)', math.atan2(2.3, 0.), math.pi/2) |
| 341 | self.assertEqual(math.atan2(2.3, INF), 0.) |
| 342 | self.assertTrue(math.isnan(math.atan2(2.3, NAN))) |
| 343 | # math.atan2(-finite, x) |
| 344 | self.ftest('atan2(-2.3, -inf)', math.atan2(-2.3, NINF), -math.pi) |
| 345 | self.ftest('atan2(-2.3, -0.)', math.atan2(-2.3, -0.), -math.pi/2) |
| 346 | self.ftest('atan2(-2.3, 0.)', math.atan2(-2.3, 0.), -math.pi/2) |
| 347 | self.assertEqual(math.atan2(-2.3, INF), -0.) |
| 348 | self.assertTrue(math.isnan(math.atan2(-2.3, NAN))) |
| 349 | # math.atan2(NAN, x) |
| 350 | self.assertTrue(math.isnan(math.atan2(NAN, NINF))) |
| 351 | self.assertTrue(math.isnan(math.atan2(NAN, -2.3))) |
| 352 | self.assertTrue(math.isnan(math.atan2(NAN, -0.))) |
| 353 | self.assertTrue(math.isnan(math.atan2(NAN, 0.))) |
nothing calls this directly
no test coverage detected