@@ -955,52 +955,53 @@ def test_factorial(self):
955955 self .assertRaises (ValueError , math .factorial , - 11.1 )
956956
957957 def testGcd (self ):
958- gcd = math .gcd
959- self .assertEqual (gcd (0 , 0 ), 0 )
960- self .assertEqual (gcd (1 , 0 ), 1 )
961- self .assertEqual (gcd (- 1 , 0 ), 1 )
962- self .assertEqual (gcd (0 , 1 ), 1 )
963- self .assertEqual (gcd (0 , - 1 ), 1 )
964- self .assertEqual (gcd (7 , 1 ), 1 )
965- self .assertEqual (gcd (7 , - 1 ), 1 )
966- self .assertEqual (gcd (- 23 , 15 ), 1 )
967- self .assertEqual (gcd (120 , 84 ), 12 )
968- self .assertEqual (gcd (84 , - 120 ), 12 )
969- self .assertEqual (gcd (1216342683557601535506311712 ,
970- 436522681849110124616458784 ), 32 )
971- c = 652560
972- x = 434610456570399902378880679233098819019853229470286994367836600566
973- y = 1064502245825115327754847244914921553977
974- a = x * c
975- b = y * c
976- self .assertEqual (gcd (a , b ), c )
977- self .assertEqual (gcd (b , a ), c )
978- self .assertEqual (gcd (- a , b ), c )
979- self .assertEqual (gcd (b , - a ), c )
980- self .assertEqual (gcd (a , - b ), c )
981- self .assertEqual (gcd (- b , a ), c )
982- self .assertEqual (gcd (- a , - b ), c )
983- self .assertEqual (gcd (- b , - a ), c )
984- c = 576559230871654959816130551884856912003141446781646602790216406874
985- a = x * c
986- b = y * c
987- self .assertEqual (gcd (a , b ), c )
988- self .assertEqual (gcd (b , a ), c )
989- self .assertEqual (gcd (- a , b ), c )
990- self .assertEqual (gcd (b , - a ), c )
991- self .assertEqual (gcd (a , - b ), c )
992- self .assertEqual (gcd (- b , a ), c )
993- self .assertEqual (gcd (- a , - b ), c )
994- self .assertEqual (gcd (- b , - a ), c )
995-
996- self .assertRaises (TypeError , gcd , 120.0 , 84 )
997- self .assertRaises (TypeError , gcd , 120 , 84.0 )
998- self .assertEqual (gcd (MyIndexable (120 ), MyIndexable (84 )), 12 )
999-
1000- # test of specializations
1001- self .assertRaises (TypeError , gcd , 120 , MyIndexable (6.0 ))
1002- self .assertRaises (TypeError , gcd , 'ahoj' , 1 )
1003- self .assertEqual (gcd (MyIndexable (True ), MyIndexable (84 )), 1 )
958+ if (sys .version_info .major >= 3 and sys .version_info .minor >= 5 ):
959+ gcd = math .gcd
960+ self .assertEqual (gcd (0 , 0 ), 0 )
961+ self .assertEqual (gcd (1 , 0 ), 1 )
962+ self .assertEqual (gcd (- 1 , 0 ), 1 )
963+ self .assertEqual (gcd (0 , 1 ), 1 )
964+ self .assertEqual (gcd (0 , - 1 ), 1 )
965+ self .assertEqual (gcd (7 , 1 ), 1 )
966+ self .assertEqual (gcd (7 , - 1 ), 1 )
967+ self .assertEqual (gcd (- 23 , 15 ), 1 )
968+ self .assertEqual (gcd (120 , 84 ), 12 )
969+ self .assertEqual (gcd (84 , - 120 ), 12 )
970+ self .assertEqual (gcd (1216342683557601535506311712 ,
971+ 436522681849110124616458784 ), 32 )
972+ c = 652560
973+ x = 434610456570399902378880679233098819019853229470286994367836600566
974+ y = 1064502245825115327754847244914921553977
975+ a = x * c
976+ b = y * c
977+ self .assertEqual (gcd (a , b ), c )
978+ self .assertEqual (gcd (b , a ), c )
979+ self .assertEqual (gcd (- a , b ), c )
980+ self .assertEqual (gcd (b , - a ), c )
981+ self .assertEqual (gcd (a , - b ), c )
982+ self .assertEqual (gcd (- b , a ), c )
983+ self .assertEqual (gcd (- a , - b ), c )
984+ self .assertEqual (gcd (- b , - a ), c )
985+ c = 576559230871654959816130551884856912003141446781646602790216406874
986+ a = x * c
987+ b = y * c
988+ self .assertEqual (gcd (a , b ), c )
989+ self .assertEqual (gcd (b , a ), c )
990+ self .assertEqual (gcd (- a , b ), c )
991+ self .assertEqual (gcd (b , - a ), c )
992+ self .assertEqual (gcd (a , - b ), c )
993+ self .assertEqual (gcd (- b , a ), c )
994+ self .assertEqual (gcd (- a , - b ), c )
995+ self .assertEqual (gcd (- b , - a ), c )
996+
997+ self .assertRaises (TypeError , gcd , 120.0 , 84 )
998+ self .assertRaises (TypeError , gcd , 120 , 84.0 )
999+ self .assertEqual (gcd (MyIndexable (120 ), MyIndexable (84 )), 12 )
1000+
1001+ # test of specializations
1002+ self .assertRaises (TypeError , gcd , 120 , MyIndexable (6.0 ))
1003+ self .assertRaises (TypeError , gcd , 'ahoj' , 1 )
1004+ self .assertEqual (gcd (MyIndexable (True ), MyIndexable (84 )), 1 )
10041005
10051006 def test_floor (self ):
10061007 class TestFloor :
@@ -1303,7 +1304,8 @@ def executeFnTest(self, values, fn, fnName):
13031304 self .assertTrue (math .isnan (result ), "Test2 fail: {}({}) = {}, but was {}" .format (fnName , value [0 ], expected , result ))
13041305 else :
13051306 if result != expected :
1306- self .assertTrue (math .isclose (result , expected , rel_tol = 1e-12 ), "Test3 fail: {}({}) = {}, but was {}" .format (fnName , value [0 ], expected , result ))
1307+ if (sys .version_info .major >= 3 and sys .version_info .minor >= 5 ):
1308+ self .assertTrue (math .isclose (result , expected , rel_tol = 1e-14 ), "Test3 fail: {}({}) = {}, but was {}" .format (fnName , value [0 ], expected , result ))
13071309
13081310 def test_erf (self ):
13091311 erfValues = [(0.0 , 0.0 ), (- 0.0 , - 0.0 ), (INF , 1.0 ), (NINF , - 1.0 ), (NAN , NAN ),
0 commit comments