Macaulay2 Engine
Loading...
Searching...
No Matches

◆ updateOverlaps()

void NCF4::updateOverlaps ( const Poly * toAdd)
private

Definition at line 198 of file NCF4.cpp.

199{
200 std::vector<Overlap> newLeftOverlaps;
201 std::vector<Overlap> newRightOverlaps;
202
203 Word newLeadWord = freeAlgebra().lead_word(*toAdd);
204
205 // the word table insert places the right overlaps into newOverlaps
206 mWordTable.insert(newLeadWord,newRightOverlaps);
207
208 // this function finds the left overlaps with the most recently
209 // inserted word.
210 mWordTable.leftOverlaps(newLeftOverlaps);
211
212 // can *also* remove previously added overlaps based on poly using
213 // the same criterion from before
214 checkOldOverlaps(newLeadWord);
215
216 // finally, insert the new overlaps
217 insertNewOverlaps(newRightOverlaps);
218 insertNewOverlaps(newLeftOverlaps);
219
220}
Word lead_word(const Poly &f) const
auto checkOldOverlaps(Word &newLeadWord) -> void
Definition NCF4.cpp:267
WordTable mWordTable
Definition NCF4.hpp:219
auto insertNewOverlaps(std::vector< Overlap > &newOverlaps) -> void
Definition NCF4.cpp:235
const FreeAlgebra & freeAlgebra() const
Definition NCF4.hpp:282

References checkOldOverlaps(), freeAlgebra(), insertNewOverlaps(), FreeAlgebra::lead_word(), and mWordTable.

Referenced by process().