913{
914 int sz =
mRows[index].columnIndices.size();
915
916 if (sz == 0) return;
917 if (sz == 1 && firstcol != -1) return;
918
919 int last =
mRows[index].columnIndices[sz-1];
920
922 mRows[index].coeffVector,
923 mRows[index].columnIndices);
924
925 do {
926 int pivotrow =
mColumns[first].pivotRow;
927 if (pivotrow >= 0)
928 {
929 ncF4Stats.numCancellations++;
931 mRows[pivotrow].coeffVector,
932 mRows[pivotrow].columnIndices);
933
934 int last1 =
mRows[pivotrow].columnIndices.cend()[-1];
935 last = (last1 > last ? last1 : last);
936 }
937 else if (firstcol == -1)
938 {
939 firstcol = first;
940 }
942 } while (first <= last);
943
944
945
947 mRows[index].coeffVector,
948 mRows[index].columnIndices,
949 firstcol,
950 last,
952 lock);
954 {
956
957 if (updateColumnIndex)
mColumns[firstcol].pivotRow = index;
958 }
959}
MemoryBlock mMonomialSpace
const VectorArithmetic * mVectorArithmetic