Macaulay2 Engine
Loading...
Searching...
No Matches
OverlapTable Class Reference

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 &
OverlapMapoverlapMap ()

Private Attributes

ConstPolyListmPolyList
OverlapMap mOverlapMap

Friends

std::ostream & operator<< (std::ostream &ostr, const OverlapTable &overlapTable)

Detailed Description

Per-degree FIFO queue of pending overlaps for the NC Groebner basis driver to process.

Note
AI-generated documentation. Verify against the source before relying on it.

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.


The documentation for this class was generated from the following files: