//Test Polynomial class void test_Polynomial() { GAParams::SetNumVars( 8 ); Monomial a("1001 0110" ); Monomial b("1111 0000" ); Monomial c("0000 0000" ); // p(x) = 0; Polynomial p; p.AddTerm(c); std::cout << p.ToString( true ) << std::endl; std::cout << " has max degree = " << (int) p.MaxDegree() << std::endl; // p(x) = a = x1*x4*x6*x7 p.AddTerm(a); // p(x) = a + b = x1*x4*x6*x7 + x1*x2*x3*x4 p.AddTerm(b); // p(x) = a + b + c = x1*x4*x6*x7 + x1*x2*x3*x4 + 1 std::cout << p.ToString( true ) << std::endl; std::cout << " has max degree = " << (int) p.MaxDegree() << std::endl; NTuple d("1101 0110" ); std::cout << p.Evaluate(d) << std::endl; }