16 #ifndef polybori_groebner_PolynomialSugar_h_
17 #define polybori_groebner_PolynomialSugar_h_
33 this->lm=p.boundedLead(sugar);
42 lm(poly.ring()), p(poly), exp() {
52 this->lm=p.boundedLead(sugar);
78 this->sugar=std::max(sugar2,this->sugar);
81 this->lm=this->p.boundedLead(sugar);
82 this->exp=this->lm.exp();
89 if (p2.ring().ordering().isTotalDegreeOrder()) this->sugar=this->lm.deg();
106 if (isZero())
return 0;
107 res=res+(sugar-exp.deg()+1)*(length-1);
108 PBORI_ASSERT(res>=p.eliminationLengthWithDegBound(sugar));
113 this->lm=this->p.lead();