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

◆ findPreviousReducerSuffix()

std::pair< bool, int > NCF4::findPreviousReducerSuffix ( const Word & w)
private

Definition at line 808 of file NCF4.cpp.

809{
810 // basically the same as above, except with suffixes
811
812 // get suffix of m
813 // search for suffix in mPreviousColumnMonomials
814 // if it.second.second != -1, then return (true,it.second.first)
815 // else return (false, -1)
816 if (w.size() == 0) return std::make_pair(false,-1);
817
818 std::pair<bool,int> retval;
819
820 Word suffix(w.begin()+1,w.end());
821 const auto it = mPreviousColumnMonomials.find(suffix);
822 if (it == mPreviousColumnMonomials.end()) //not in table
823 retval = std::make_pair(false,-1);
824 else
825 {
826 int colNum = (*it).second.first;
827 if (mPreviousColumns[colNum].pivotRow == -1) // in column table and not a reducer monomial
828 retval = std::make_pair(false,-1);
829 else // in table and a reducer monomial
830 retval = std::make_pair(true,mPreviousColumns[colNum].pivotRow);
831 }
832 return retval;
833}
Word suffix(const Word vec, int indexOfSuffix)
ColumnsVector mPreviousColumns
Definition NCF4.hpp:241
MonomialHash mPreviousColumnMonomials
Definition NCF4.hpp:236
const int * begin() const
Definition Word.hpp:72
const int * end() const
Definition Word.hpp:73
int size() const
Definition Word.hpp:74

References Word::begin(), Word::end(), mPreviousColumnMonomials, mPreviousColumns, Word::size(), and suffix().

Referenced by findDivisor().