Macaulay2 Engine
Loading...
Searching...
No Matches

◆ value()

Poly * PriorityQueuePolynomialHeap::value ( )
inlineoverridevirtual

Implements PolynomialHeap.

Definition at line 1088 of file NCReduction.cpp.

1089 {
1090 Poly* f = new Poly;
1091 if (mLeadTermSet)
1092 mQueue.push(mLeadTerm);
1093 mLeadTermSet = false;
1094 while (not isZero())
1095 {
1096 auto tm = viewLeadTerm();
1097 mRing.add_to_end(*f, tm.second, tm.first);
1099 }
1100 addPolynomial(*f);
1101 return f;
1102 }
Polynomial< CoefficientRingType > Poly
PriorityQueuePolynomialHeap & addPolynomial(const Poly &poly) override
std::pair< Monom, ring_elem > viewLeadTerm() override
std::priority_queue< Entry, Container, EntryConfig > mQueue

References addPolynomial(), isZero(), mLeadTerm, mLeadTermSet, mQueue, mRing, removeLeadTerm(), and viewLeadTerm().