Esempio n. 1
0
	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])
Esempio n. 2
0
	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])
Esempio n. 3
0
	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])
Esempio n. 4
0
	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])