def eval_expr(self, expr): from pymbolic import evaluate_kw return evaluate_kw(expr, substep_index=self.substep_index, substep_count=self.substep_count)
return x.degree @staticmethod def get_unit(x): lc = leading_coefficient(x) return traits(lc).get_unit(lc) if __name__ == "__main__": x = Polynomial(pymbolic.var("x")) y = Polynomial(pymbolic.var("y")) u = (x+1)**5 v = pymbolic.evaluate_kw(u, x=x) print u print v if False: # NOT WORKING INTRODUCE TESTS u = (x+y)**5 v = x+y #u = x+1 #v = 3*x+1 q, r = divmod(u, v) print q, "R", r print q*v print "REASSEMBLY:", q*v + r
class PolynomialTraits(EuclideanRingTraits): @staticmethod def norm(x): return x.degree @staticmethod def get_unit(x): lc = leading_coefficient(x) return traits(lc).get_unit(lc) if __name__ == "__main__": x = Polynomial(pymbolic.var("x")) y = Polynomial(pymbolic.var("y")) u = (x + 1)**5 v = pymbolic.evaluate_kw(u, x=x) print u print v if False: # NOT WORKING INTRODUCE TESTS u = (x + y)**5 v = x + y #u = x+1 #v = 3*x+1 q, r = divmod(u, v) print q, "R", r print q * v print "REASSEMBLY:", q * v + r