|
Macaulay2 Engine
|
Variant of WordTable where each stored monomial carries an additional ecart-degree datum that gates subword matches. More...
#include <WordTable.hpp>
Public Member Functions | |
| WordWithDataTable () | |
| ~WordWithDataTable () | |
| void | clear () |
| size_t | monomialCount () const |
| size_t | insert (WordWithData w) |
| size_t | insert (WordWithData w, std::vector< Overlap > &newRightOverlaps) |
| const WordWithData & | operator[] (int index) const |
| void | subwords (WordWithData word, std::vector< std::pair< int, int > > &output) const |
| bool | subword (WordWithData word, std::pair< int, int > &output) const |
| bool | isPrefix (WordWithData word, int &output) const |
| bool | isSuffix (WordWithData word, int &output) const |
| auto | isNontrivialSuperword (WordWithData word, int index1, int index2) const -> bool |
| void | superwords (WordWithData word, std::vector< std::pair< int, int > > &output) const |
| void | leftOverlaps (std::vector< Overlap > &newLeftOverlaps) const |
| void | rightOverlaps (std::vector< Overlap > &newRightOverlaps) const |
| void | retire (int retiree) |
Static Private Member Functions | |
| static bool | isPrefixOf (WordWithData word1, WordWithData word2) |
| static bool | isSuffixOf (WordWithData word1, WordWithData word2) |
| static void | subwordPositions (WordWithData word1, WordWithData word2, std::vector< int > &result_start_indices) |
| static bool | subwordPosition (WordWithData word1, WordWithData word2, int &result_start_index) |
| static void | overlaps (WordWithData word1, WordWithData word2, std::vector< int > &result_overlaps) |
Private Attributes | |
| std::vector< WordWithData > | mMonomials |
| std::vector< int > | mIndices |
Friends | |
| std::ostream & | operator<< (std::ostream &o, const WordWithDataTable &wordWithDataTable) |
Variant of WordTable where each stored monomial carries an additional ecart-degree datum that gates subword matches.
Same skeleton as WordTable (parallel mMonomials / mIndices with -1 marking retired entries), but subword queries take an ecart degree into account, skipping entries whose ecart is larger than the query's. Used by the GB code paths that need ecart-aware reduction (typically inhomogeneous problems with sugar / ecart strategies).
Definition at line 192 of file WordTable.hpp.