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

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 WordWithDataoperator[] (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< WordWithDatamMonomials
std::vector< intmIndices

Friends

std::ostream & operator<< (std::ostream &o, const WordWithDataTable &wordWithDataTable)

Detailed Description

Variant of WordTable where each stored monomial carries an additional ecart-degree datum that gates subword matches.

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

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.


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