Implements PolynomialHeap.
Definition at line 1031 of file NCReduction.cpp.
1032 {
1034 if (
mQueue.empty())
return true;
1037 while (not
mQueue.empty())
1038 {
1040 if (
mRing.monoid().compare(e.first, lt.first) ==
EQ)
1041 {
1042 lt.second =
mRing.coefficientRing()->add(lt.second, e.second);
1044 }
1045 else
1046 {
1047 if (not
mRing.coefficientRing()->is_zero(lt.second))
1048 {
1051 return false;
1052 }
1053 else
1054 {
1057 }
1058 }
1059 }
1060 if (not
mRing.coefficientRing()->is_zero(lt.second))
1061 {
1064 return false;
1065 }
1066 return true;
1067 }
std::priority_queue< Entry, Container, EntryConfig > mQueue
std::pair< Monom, ring_elem > Entry
References EQ, mLeadTerm, mLeadTermSet, mQueue, and mRing.
Referenced by removeLeadTerm(), value(), and viewLeadTerm().