예제 #1
0
 def test1(self):
     random.seed(2)
     n = 257
     s_list = [random.randint(1, n - 1) for _ in range(256)]
     t_list = [random.randint(1, n - 1) for _ in range(256)]
     target = remainder_loop(s_list, t_list, n)
     Fx = product_tree([Polynomial([n - i, 1], n) for i in t_list], n)[0]
     g_tree = product_tree([Polynomial([n - i, 1], n) for i in s_list], n)
     g_recip_tree = recip_tree(g_tree)
     r_tree = remainder_tree(Fx, g_tree, g_recip_tree, n)
     self.assertEqual(target, r_tree[0])
예제 #2
0
 def test3(self):
     random.seed(2)
     n = 310739457793333465418548557523014289
     s_list = [random.randint(1, n - 1) for _ in range(501)]
     t_list = [random.randint(1, n - 1) for _ in range(3)]
     target = remainder_loop(s_list, t_list, n)
     Fx = product_tree([Polynomial([n - i, 1], n) for i in t_list], n)[0]
     g_tree = product_tree([Polynomial([n - i, 1], n) for i in s_list], n)
     g_recip_tree = recip_tree(g_tree)
     r_tree = remainder_tree(Fx, g_tree, g_recip_tree, n)
     self.assertEqual(target, r_tree[0])
예제 #3
0
 def test2(self):
     random.seed(2)
     n = 310739457793333465418548557523014289
     f_list = [
         Polynomial([random.randint(0, n - 1), 1], n) for _ in range(100)
     ]
     p_tree = product_tree(f_list, n)
     r_tree = recip_tree(p_tree)
     self.assertEqual(r_tree, [p.recip() for p in p_tree])
예제 #4
0
 def test2(self):
     random.seed(2)
     n = 310739457793333465418548557523014289
     f_list = [
         Polynomial([random.randint(0, n - 1), 1], n) for _ in range(100)
     ]
     target = product_loop(f_list)
     p_tree = product_tree(f_list, n)
     self.assertEqual(target, p_tree[0])
예제 #5
0
 def test1(self):
     n = 257
     f_list = [Polynomial([2], n)]
     p_tree = product_tree(f_list, n)
     r_tree = recip_tree(p_tree)
     self.assertEqual(r_tree, [p.recip() for p in p_tree])
예제 #6
0
 def test1(self):
     n = 257
     f_list = [Polynomial([2], n)]
     target = product_loop(f_list)
     p_tree = product_tree(f_list, n)
     self.assertEqual(target, p_tree[0])