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

◆ toStream()

template<typename S>
void newf4::toStream ( const PolynomialList & Fs,
S & str )

Definition at line 297 of file PolynomialList.hpp.

298{
299 str.idealBegin(Fs.size());
300 for (auto i=0; i<Fs.size(); ++i)
301 {
302 auto& F = Fs[i];
303 str.appendPolynomialBegin(F.mMonomials.size());
304 for (auto i=0; i<F.mMonomials.size(); ++i)
305 {
306 // get monomial
307 // write it out here using appendTermBegin, appendExponent, appendTermDone.
308 if (F.mComponents.empty())
309 str.appendTermBegin(0);
310 else
311 str.appendTermBegin(F.mComponents[i]);
312 MonomialView monom = Fs.monomialHashTable().monomialAt(F.mMonomials[i]);
313 for (auto ve = monom.begin(); ve != monom.end(); ++ve)
314 {
315 str.appendExponent(ve.var(), ve.power());
316 }
317 long val = Fs.vectorArithmetic().to_modp_long(F.mCoefficients, i);
318 str.appendTermDone(val);
319 }
320 str.appendPolynomialDone();
321 }
322 str.idealDone();
323}
long to_modp_long(const ElementArray &coeffs, size_t loc) const
auto monomialAt(MonomialIndex m) const -> MonomialView
auto begin() const -> MonomialIterator< true >
auto end() const -> MonomialIterator< true >
const VectorArithmetic & vectorArithmetic() const
const MonomialHashTable & monomialHashTable() const

References newf4::MonomialView::begin(), newf4::MonomialView::end(), newf4::MonomialHashTable::monomialAt(), newf4::PolynomialList::monomialHashTable(), newf4::PolynomialList::size(), VectorArithmetic::to_modp_long(), and newf4::PolynomialList::vectorArithmetic().

Referenced by newf4::GBF4Computation::initializeWithBasicPolyList(), and toMatrix().