138 int& result_sign_if_skew);
146 bool onlyConstantMaps,
147 const std::vector<bool>& track);
169 std::unique_ptr<const ResMonomialsWithComponent>
183 std::vector<res_packed_monomial>
Coefficient-ring-erased arithmetic dispatcher used by F4, GB, and resolution code.
Type-erased owning handle to a dense coefficient vector held by a ConcreteVectorArithmetic<Ring>.
void debugOutputReducers()
void resetMatrix(int lev, int degree)
MonomialHashTable< ResMonomialsWithComponent > mHashTable
ComponentIndex processMonomialProduct(res_const_packed_monomial m, res_const_packed_monomial n, int &result_sign_if_skew)
F4Res(SchreyerFrame &res)
void construct(int lev, int degree)
const VectorArithmetic & vectorArithmetic() const
const ResPolyRing & ring() const
void debugOutputColumns()
friend class ResColumnsSorter
std::unique_ptr< const ResMonomialsWithComponent > mSchreyerRes
const SchreyerFrame & frame() const
const ResMonoid & monoid() const
std::vector< res_packed_monomial > mColumns
void debugOutputMatrixSparse(std::vector< Row > &)
MonomialMemorySpace mMonomSpace2
std::vector< Row > mReducers
bool findDivisor(res_const_packed_monomial m, res_packed_monomial result)
findDivisor
void gaussReduceRow(int index, ElementArray &dense, bool onlyConstantMaps, const std::vector< bool > &track)
const ResPolyRing & mRing
void debugOutputMatrix(std::vector< Row > &)
std::vector< long > mSPairComponents
void debugOutputSPairMatrix()
ComponentIndex processCurrentMonomial(res_packed_monomial thisMonom)
void debugOutputReducerMatrix()
long mNextReducerToProcess
std::vector< Row > mSPairs
Bump-pointer arena for monomial storage, backed by a memt::Arena.
The polynomial-ring view the F4 resolution engine reduces against: coefficient arithmetic plus the en...
State container for the in-progress free resolution built by the F4 resolution engine.
Runtime dispatcher that hides the concrete coefficient ring behind a std::variant of ConcreteVectorAr...
VALGRIND_MAKE_MEM_DEFINED & result(result)
MonomialHashTable<ValueType> — open-addressing intern table for F4 and resolution monomials.
MonomialSetFixedSize / MonomialSetVarSize / MonomialCollection* / MonomialMemorySpace — monomial-inte...
ResMemoryBlock<T, NSLAB> — resolution-side templated slab bump allocator.
const res_monomial_word * res_const_packed_monomial
res_monomial_word * res_packed_monomial
ResPolyRing and ResPolynomial — resolution-tuned polynomial-ring view and value type.
std::vector< ComponentIndex > mComponents
res_packed_monomial mLeadTerm