MCPcopy Index your code
hub / github.com/RustPython/RustPython / testGcd

Method testGcd

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

Source from the content-addressed store, hash-verified

756 self.assertRaises(ZeroDivisionError, math.fsum, bad_iter())
757
758 def testGcd(self):
759 gcd = math.gcd
760 self.assertEqual(gcd(0, 0), 0)
761 self.assertEqual(gcd(1, 0), 1)
762 self.assertEqual(gcd(-1, 0), 1)
763 self.assertEqual(gcd(0, 1), 1)
764 self.assertEqual(gcd(0, -1), 1)
765 self.assertEqual(gcd(7, 1), 1)
766 self.assertEqual(gcd(7, -1), 1)
767 self.assertEqual(gcd(-23, 15), 1)
768 self.assertEqual(gcd(120, 84), 12)
769 self.assertEqual(gcd(84, -120), 12)
770 self.assertEqual(gcd(1216342683557601535506311712,
771 436522681849110124616458784), 32)
772
773 x = 434610456570399902378880679233098819019853229470286994367836600566
774 y = 1064502245825115327754847244914921553977
775 for c in (652560,
776 576559230871654959816130551884856912003141446781646602790216406874):
777 a = x * c
778 b = y * c
779 self.assertEqual(gcd(a, b), c)
780 self.assertEqual(gcd(b, a), c)
781 self.assertEqual(gcd(-a, b), c)
782 self.assertEqual(gcd(b, -a), c)
783 self.assertEqual(gcd(a, -b), c)
784 self.assertEqual(gcd(-b, a), c)
785 self.assertEqual(gcd(-a, -b), c)
786 self.assertEqual(gcd(-b, -a), c)
787
788 self.assertEqual(gcd(), 0)
789 self.assertEqual(gcd(120), 120)
790 self.assertEqual(gcd(-120), 120)
791 self.assertEqual(gcd(120, 84, 102), 6)
792 self.assertEqual(gcd(120, 1, 84), 1)
793
794 self.assertRaises(TypeError, gcd, 120.0)
795 self.assertRaises(TypeError, gcd, 120.0, 84)
796 self.assertRaises(TypeError, gcd, 120, 84.0)
797 self.assertRaises(TypeError, gcd, 120, 1, 84.0)
798 self.assertEqual(gcd(MyIndexable(120), MyIndexable(84)), 12)
799
800 def testHypot(self):
801 from decimal import Decimal

Callers

nothing calls this directly

Calls 4

gcdFunction · 0.70
MyIndexableClass · 0.70
assertEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected