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

◆ processPreviousF4Matrix()

void NCF4::processPreviousF4Matrix ( )
private

Definition at line 159 of file NCF4.cpp.

160{
161 // flag the columns correspond to lead terms of new GB elements as reducers
162 for (int i = mFirstOverlap; i < mRows.size(); ++i)
163 {
164 if (mRows[i].columnIndices.size() == 0) continue;
165 int newReducerCol = mRows[i].columnIndices[0];
166 mColumns[newReducerCol].pivotRow = i;
167 mColumnMonomials[mColumns[newReducerCol].word].second = i;
168 }
169
170 // copy the finished rows and columns into the holding areas
172 mPreviousColumns.clear();
174 mPreviousMonomialSpace.deallocateAll();
175
176 for (auto& p : mPreviousMemoryBlocks)
177 {
178 if (p != nullptr)
179 p->deallocateAll();
180 p = nullptr;
181 }
182 mPreviousMemoryBlocks.clear();
183
184 mPreviousRows = std::move(mRows);
185 mPreviousColumns = std::move(mColumns);
188 // need to move mMonomialSpace to a holding area since all the monomials
189 // and int arrays in mPrevious data types are allocated there.
191}
MemoryBlock mPreviousMonomialSpace
Definition NCF4.hpp:229
ColumnsVector mPreviousColumns
Definition NCF4.hpp:241
RowsVector mPreviousRows
Definition NCF4.hpp:244
void clearRows(RowsVector &rowsVector)
Definition NCF4.cpp:1210
std::vector< MemoryBlock * > mMemoryBlocks
Definition NCF4.hpp:260
MonomialHash mColumnMonomials
Definition NCF4.hpp:235
int mFirstOverlap
Definition NCF4.hpp:247
std::vector< MemoryBlock * > mPreviousMemoryBlocks
Definition NCF4.hpp:261
RowsVector mRows
Definition NCF4.hpp:243
MemoryBlock mMonomialSpace
Definition NCF4.hpp:228
ColumnsVector mColumns
Definition NCF4.hpp:240
MonomialHash mPreviousColumnMonomials
Definition NCF4.hpp:236
int p

References clearRows(), mColumnMonomials, mColumns, mFirstOverlap, mMemoryBlocks, mMonomialSpace, mPreviousColumnMonomials, mPreviousColumns, mPreviousMemoryBlocks, mPreviousMonomialSpace, mPreviousRows, mRows, and p.

Referenced by process().