MCPcopy Index your code
hub / github.com/python/cpython / testAtan2

Method testAtan2

Lib/test/test_math.py:296–356  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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.)))

Callers

nothing calls this directly

Calls 4

ftestMethod · 0.95
assertTrueMethod · 0.80
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected