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

◆ increment()

void DegreeZeroMapGenerator::iterator::increment ( )
inlineprivate

Definition at line 508 of file res-f4-m2-interface.cpp.

509 {
510 ++mColumn;
511 mComponents.clear();
512 mCoefficients.clear();
513 if (mColumn == mNumColumns) return;
514 for (; mIter != mEnd; ++mIter)
515 {
516 if (mIter->mDegree == mGenerator.mDegree) break;
517 }
518 auto& f = mIter->mSyzygy;
519 auto end = ResPolynomialIterator(mGenerator.mSchreyerFrame.ring(), f, 1);
520 auto i = ResPolynomialIterator(mGenerator.mSchreyerFrame.ring(), f);
521
522 for (; i != end; ++i)
523 {
524 auto comp = mGenerator.mSchreyerFrame.monoid().get_component(i.monomial());
525 auto new_comp = mGenerator.mComponentTranslation[comp];
526 if (new_comp >= 0)
527 {
528 mComponents.push_back(new_comp);
529 long val =
530 mGenerator.mSchreyerFrame.vectorArithmetic().to_modp_long(f.coeffs, i.coefficient_index());
531 mCoefficients.push_back(val);
532 }
533 }
534 ++mIter;
535 }

References DegreeZeroMapGenerator::end(), mCoefficients, mColumn, mComponents, mEnd, mGenerator, mIter, and mNumColumns.

Referenced by iterator(), and operator++().