1 #ifndef __SUGAR_STRATEGY_ 2 #define __SUGAR_STRATEGY_ 21 #include "strategies.hpp" 22 #include "polynomial.hpp" 119 DEG_TYPE pair_sugar()
const {
return sugar; }
The general class of a polynomial.
virtual bool equivalent(const Poly_Strategy_Data &sd) const
returns true iff the sugars are equal
polynomial-related strategy data
unsigned long long sugar
the polynomial’s sugar
virtual bool first_larger(const Poly_Strategy_Data &sd) const
returns true iff this sugar is larger than sd ’s
ordering critical pairs using the sugar strategy
Structure for sorting critical pairs.
Critical_Pair_Basic * cp
the critical pair to which this Normal_Strategy belongs
DEG_TYPE poly_sugar() const
the sugar itself
StrategyFlags
flag indicating which strategy to use for computation
virtual StrategyFlags type()
the strategy type
Implementation of monomials.
polynomial-related data for a sugar strategy
DEG_TYPE sugar
the pair*rsquo;s sugar
Poly_Sugar_Data(const Abstract_Polynomial *poly)
records poly as the reference for this
void force_sugar(DEG_TYPE new_sugar)
for those times when a different sugar is appropriate
virtual void pre_reduction_tasks(const EXP_TYPE *u, const Abstract_Polynomial &g)
re-evaluates the sugar, if need be
Controls the creation of s-polynomials.
virtual void at_generation_tasks()
sets the sugar to the largest total degree of a monomial in the assigned previously polynomial ...