def test_polyRootModPSlow(self): nfspoly = poly.Poly([8,29,15,1]) correctRoots = [2,44,6] testRoots = poly.getRootsModPSlow(nfspoly,67) self.assertEqual(len(correctRoots), len(testRoots)) correctRoots.sort() testRoots.sort() for i in range(len(correctRoots)): self.assertEqual(correctRoots[i], testRoots[i])
def test_polyRootModPFastDeg5_2(self): p = 157 polynomial = poly.Poly([11,1])*poly.Poly([-23,1])*poly.Poly([-1,1])*poly.Poly([-1,1])*poly.Poly([-1,1]) correctRoots = poly.getRootsModPSlow(polynomial,p) testRoots = poly.getRootsModPFast(polynomial,p) correctRoots.sort() testRoots.sort() self.assertEqual(len(correctRoots),len(testRoots)) for i in range(len(correctRoots)): self.assertEqual(correctRoots[i], testRoots[i])
def test_polyRootModPFastRandomDeg5(self): # no roots p = 503 polynomial = poly.Poly([2034,234,24,123,101,1]) correctRoots = poly.getRootsModPSlow(polynomial,p) testRoots = poly.getRootsModPFast(polynomial,p) correctRoots.sort() testRoots.sort() self.assertEqual(len(correctRoots),len(testRoots)) for i in range(len(correctRoots)): self.assertEqual(correctRoots[i], testRoots[i])
def test_polyRootModPFastRandomZeroRoot(self): p = 503 polynomial = poly.Poly([0,1])*poly.Poly([-11,1])*poly.Poly([-51,1])*poly.Poly([-231,1]) correctRoots = poly.getRootsModPSlow(polynomial,p) testRoots = poly.getRootsModPFast(polynomial,p) correctRoots.sort() testRoots.sort() self.assertEqual(len(correctRoots),len(testRoots)) for i in range(len(correctRoots)): self.assertEqual(correctRoots[i], testRoots[i])