36 assert(index < mPolyRing->n_vars());
const Ring * get_ring() const
Engine-side free module R^n over a Ring.
Mutable builder used to assemble an immutable Matrix one column (or one term) at a time.
void idealBegin(size_t polyCount)
void appendTermDone(Coefficient coefficient)
Exponent * mCurrentExponents
MatrixConstructor mMatrixConstructor
void appendTermBegin(Component com)
void appendExponent(VarIndex index, Exponent exponent)
const PolyRing * mPolyRing
const FreeModule * mFreeModule
Component mCurrentComponent
const PolyRing & ring() const
void appendPolynomialBegin(size_t termCount)
MatrixStream(const FreeModule *F)
void appendPolynomialDone()
void from_expvector(const_exponents exp, monomial result) const
virtual const Monoid * getMonoid() const
virtual const Ring * getCoefficients() const
vec make_vec_from_array(int len, Nterm **array) const
virtual ring_elem from_int(mpz_srcptr n) const =0
MatrixStream — term-by-term streaming construction of a Matrix.
#define newarray_clear(T, len)
Singly linked-list node carrying one term of a polynomial-ring element.