480{
481
482
485 Word tmpLabel = w;
486 int pos = 0;
487 bool retval = false;
488 std::cout << *(this->
mRoot) << std::endl;
489 std::cout << w << std::endl;
490 while (tmpLabel.
size() != 0)
491 {
495 else
497 auto newcLocus = std::get<0>(swType);
498 auto newbeta = std::get<1>(swType);
499 auto leaf = std::get<2>(swType);
500 auto wasPattern = std::get<3>(swType);
501
503 {
504 std::cout << Word(leaf->label()) << " " << tmpLabel << std::endl << std::flush;
505 auto tmp = std::make_pair(leaf->getPatternNumber(),pos);
506 output.push_back(tmp);
507 retval = true;
508 if (onlyFirst) return true;
509 }
510 pos++;
511 cLocus = newcLocus;
513 tmpLabel =
suffix(tmpLabel,1);
514 std::cout << *cLocus << " " << tmpLabel << std::endl;
515 }
516 return retval;
517}
bool isPatternPrefix(const Word a, const Word b, int startIndex)
Word suffix(const Word vec, int indexOfSuffix)
std::tuple< SuffixTreeNode *, Word, SuffixTreeNode *, bool > SubwordsType
auto subwordsStepC(SuffixTreeNode *x, const Word &beta, const Word &s) const -> SubwordsType
auto subwordsStepD(SuffixTreeNode *y, const Word &s) const -> SubwordsType
const mpreal beta(const mpreal &z, const mpreal &w, mp_rnd_t rnd_mode=mpreal::get_default_rnd())