51 throw exc::engine_error(
"internal error: building PolyList from stream has incorrect number of terms in a polynomial");
57 throw exc::engine_error(
"internal error: building PolyList from stream has incorrect number of polynomials");
long bytesUsed(const BasicPolyList &F)
const Matrix * toMatrix(const FreeModule *target, const BasicPolyList &Fs)
std::vector< BasicPoly > BasicPolyList
void toStream(const BasicPolyList &Fs, S &str)
Ring-agnostic polynomial-list transport type plus its streaming collector and emitter.
void appendTermDone(const Coefficient &coefficient)
void idealBegin(size_t polyCount)
void appendPolynomialDone()
void appendExponent(VarIndex index, Exponent exponent)
long mSizeEntryInMonomial
void appendPolynomialBegin(size_t termCount)
void appendTermBegin(Component com)
Engine-side free module R^n over a Ring.
const Matrix * value() const
Streaming consumer that builds an engine Matrix from the mathicgb-style stream callbacks (idealBegin ...
VALGRIND_MAKE_MEM_DEFINED & result(result)
MatrixStream — term-by-term streaming construction of a Matrix.
Matrix — the engine's immutable homomorphism F -> G between free modules.