1 #ifndef __WEIGHTED_SUGAR_STRATEGY_HPP_ 2 #define __WEIGHTED_SUGAR_STRATEGY_HPP_ 21 #include "system_constants.hpp" 23 #include "strategies.hpp" 24 #include "polynomial.hpp" 136 DEG_TYPE pair_sugar();
142 virtual void adjust_sugar(DEG_TYPE new_sugar) {
sugar = new_sugar; }
The general class of a polynomial.
polynomial-related strategy data
StrategyFlags type()
type of strategy
Critical_Pair_Basic * cp
the critical pair to which this Normal_Strategy belongs
ordering critical pairs using the weighted sugar strategy
DEG_TYPE poly_sugar() const
the sugar itself
DEG_TYPE sugar
the polynomial’s sugar
Structure for sorting critical pairs.
virtual bool first_larger(const Poly_Strategy_Data &sd) const
returns true iff this sugar is larger than sd ’s
DEG_TYPE sugar
the pair*rsquo;s sugar
virtual void pre_reduction_tasks(const EXP_TYPE *u, const Abstract_Polynomial &g)
re-evaluates the sugar, if need be
StrategyFlags
flag indicating which strategy to use for computation
virtual void at_generation_tasks()
sets the sugar to the largest weighted degree of a monomial in the assigned previously polynomial ...
polynomial-related data for a weighted sugar strategy
Implementation of monomials.
Poly_WSugar_Data(const Abstract_Polynomial *poly, const WT_TYPE *w)
records poly as the reference for this
const WT_TYPE * weights
pointer to the weights
void change_weights(const WT_TYPE *w)
changes the weights used to compute the sugar to w
const WT_TYPE * weighting() const
the weights used to compute the sugar
Controls the creation of s-polynomials.
virtual bool equivalent(const Poly_Strategy_Data &sd) const
returns true iff the sugars are equal