711{
712 Word newword;
713
714
715
717 if (usePreviousSuffix.first)
718 {
719
720 Word tmpWord;
721 if (
word.size() != 0)
723 return std::make_pair(
true,
PreRow {tmpWord,
724 usePreviousSuffix.second,
725 Word(),
727 }
729 if (usePreviousPrefix.first)
730 {
731
732 Word tmpWord;
733 if (
word.size() != 0)
735 return std::make_pair(
true,
PreRow {Word(),
736 usePreviousPrefix.second,
737 tmpWord,
739 }
740
741
742
743
744
745 std::pair<int,int> divisorInfo;
746
747
748
749
750
751
752
754
755
756
757
758
759 if (not found)
761
762 Word
prefix = Word(
word.begin(),
word.begin() + divisorInfo.second);
763 Word divisorWord =
mWordTable[divisorInfo.first];
764 Word
suffix = Word(
word.begin() + divisorInfo.second + divisorWord.
size(),
767}
Word prefix(const Word vec, int lengthOfPrefix)
Word suffix(const Word vec, int indexOfSuffix)
std::pair< bool, int > findPreviousReducerSuffix(const Word &w)
std::pair< bool, int > findPreviousReducerPrefix(const Word &w)
void init(const int *begin, const int *end)
Symbolic description of one row before it is materialised in the matrix: a left * (something) * right...