void TournamentReducer::value(Poly &result) { const_term t; while (leadTerm(t)) { result.appendTerm(t.coeff, t.monom); removeLeadTerm(); } resetReducer(); }
void PolyHashReducer::value(Poly &result) // keep extracting lead term until done { const_term t; for ( ; f_iter_ != f_->end(); ++f_iter_) if (leadTerm(t)) result.appendTerm(t.coeff, t.monom); resetReducer(); }
virtual ~ReducerPack() { resetReducer(); mRing.monoid().freeRaw(*mLeadTerm.mono); }
ReducerPackDedup<Q>::~ReducerPackDedup() { resetReducer(); mRing.monoid().freeRaw(*mLeadTerm.mono); }
TournamentReducer::~TournamentReducer() { resetReducer(); mRing.freeMonomial(mLeadTerm.monom); }
ReducerHashPack<Q>::~ReducerHashPack() { resetReducer(); }