ToomCookInstance works!
[bigint-presentation-code.git] / src / bigint_presentation_code / test_toom_cook.py
1 import unittest
2
3 from bigint_presentation_code.toom_cook import ToomCookInstance
4
5
6 class TestToomCook(unittest.TestCase):
7 def test_toom_2(self):
8 TOOM_2 = ToomCookInstance.make_toom_2()
9 print(repr(repr(TOOM_2)))
10 self.assertEqual(
11 repr(TOOM_2),
12 "ToomCookInstance(lhs_part_count=2, rhs_part_count=2, "
13 "eval_points=(0, 1, POINT_AT_INFINITY), "
14 "lhs_eval_ops=("
15 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
16 "EvalOpAdd(lhs="
17 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
18 "rhs="
19 "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
20 "poly=EvalOpPoly({0: Fraction(1, 1), 1: Fraction(1, 1)})), "
21 "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)}))),"
22 " rhs_eval_ops=("
23 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
24 "EvalOpAdd(lhs="
25 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
26 "rhs="
27 "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
28 "poly=EvalOpPoly({0: Fraction(1, 1), 1: Fraction(1, 1)})), "
29 "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)}))),"
30 " prod_eval_ops=("
31 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
32 "EvalOpSub(lhs="
33 "EvalOpSub(lhs="
34 "EvalOpInput(lhs=1, rhs=0, poly=EvalOpPoly({1: Fraction(1, 1)})), "
35 "rhs="
36 "EvalOpInput(lhs=0, rhs=0, poly=EvalOpPoly({0: Fraction(1, 1)})), "
37 "poly=EvalOpPoly({0: Fraction(-1, 1), 1: Fraction(1, 1)})), "
38 "rhs="
39 "EvalOpInput(lhs=2, rhs=0, poly=EvalOpPoly({2: Fraction(1, 1)})), "
40 "poly=EvalOpPoly({"
41 "0: Fraction(-1, 1), 1: Fraction(1, 1), 2: Fraction(-1, 1)})), "
42 "EvalOpInput(lhs=2, rhs=0, poly=EvalOpPoly({2: Fraction(1, 1)}))))"
43 )
44
45
46 if __name__ == "__main__":
47 unittest.main()