|
Macaulay2 Engine
|
Baseline PolynomialHeap implementation that simply accumulates the pending sum in a single Poly and walks it with an iterator. More...
Public Member Functions | |
| TrivialPolynomialHeap (const FreeAlgebra &F) | |
| virtual | ~TrivialPolynomialHeap () |
| void | clear () override |
| TrivialPolynomialHeap | operator= (const TrivialPolynomialHeap &)=delete |
| TrivialPolynomialHeap (const TrivialPolynomialHeap &)=delete | |
| PolynomialHeap & | addPolynomial (const Poly &poly) override |
| TrivialPolynomialHeap & | addPolynomial (ring_elem coeff, Word left, Word right, const Poly &poly) override |
| bool | isZero () override |
| std::pair< Monom, ring_elem > | viewLeadTerm () override |
| void | removeLeadTerm () override |
| Poly * | value () override |
| size_t | getMemoryUsedInBytes () override |
| std::string | getName () const override |
| Public Member Functions inherited from PolynomialHeap | |
| virtual | ~PolynomialHeap () |
Private Attributes | |
| FreeAlgebra | mRing |
| Poly | mValue |
| Poly::const_iterator | mIter |
| Poly | f |
| Poly | g |
Additional Inherited Members | |
| Static Public Member Functions inherited from our_new_delete | |
| static void * | operator new (size_t size) |
| static void * | operator new[] (size_t size) |
| static void | operator delete (void *obj) |
| static void | operator delete[] (void *obj) |
| static void * | operator new (size_t size, void *existing_memory) |
| static void * | operator new[] (size_t size, void *existing_memory) |
| static void | operator delete (void *obj, void *existing_memory) |
| static void | operator delete[] (void *obj, void *existing_memory) |
Baseline PolynomialHeap implementation that simply accumulates the pending sum in a single Poly and walks it with an iterator.
No queue, no deduplication: every addPolynomial does a FreeAlgebra::add of the new terms into the running value, and removeLeadTerm just advances the iterator. Useful as a correctness oracle for the geobucket-, map-, and priority-queue-backed heaps defined later in this file.
Definition at line 162 of file NCReduction.cpp.