16 #ifndef polybori_groebner_ReductionStrategy_h_
17 #define polybori_groebner_ReductionStrategy_h_
45 PolyEntryVector::append(entry);
46 setupSetsForElement(back());
54 return (optRedTail? reducedNormalForm(p): headNormalForm(p));
62 int select1(
const Monomial& m)
const;
68 return select_short_by_terms(m.
divisors());
83 int select_short_by_terms(
const MonomialSet&)
const;
90 void setupSetsForElement(
const PolyEntry& entry);
93 template <
class Iterator,
class CompareType>
94 size_type minimum(Iterator start, Iterator finish,
const CompareType& comp)
96 start = std::min_element(start, finish, comp);
100 return index(*start);