|
Macaulay2 Engine
|
Per-degree FIFO queue of pending overlaps for the NC Groebner basis driver to process. More...
#include <OverlapTable.hpp>
Public Member Functions | |
| OverlapTable () | |
| OverlapTable (ConstPolyList *polyList) | |
| auto | insert (int deg, bool isGenerator, Overlap o) -> void |
| auto | isFinished () const -> bool |
| auto | isFinished (int topDegree) const -> bool |
| auto | nextDegreeOverlaps () -> std::pair< int, std::deque< Overlap > * > |
| auto | size () const -> size_t |
| auto | removeLowestDegree () -> void |
| auto | overlapWordLength (Overlap o) const -> int |
| auto | clear () -> void |
| auto | dump (std::ostream &ostr, bool outputDeques) const -> std::ostream & |
| OverlapMap & | overlapMap () |
Private Attributes | |
| ConstPolyList * | mPolyList |
| OverlapMap | mOverlapMap |
Friends | |
| std::ostream & | operator<< (std::ostream &ostr, const OverlapTable &overlapTable) |
Per-degree FIFO queue of pending overlaps for the NC Groebner basis driver to process.
Overlap = (firstIndex, position, secondIndex, computedFlag) encodes one prefix/suffix overlap of two mPolyList entries; the table groups entries by (degree, isGenerator) in a std::map so the driver can pull all overlaps of the current degree in one shot via nextDegreeOverlaps. insert appends (creating the bucket on demand) and isFinished / isFinished(topDegree) ask whether any pending work remains at or below a degree cap.
Definition at line 75 of file OverlapTable.hpp.