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

◆ insertLevelZero()

void SchreyerFrame::insertLevelZero ( res_packed_monomial monom,
int degree,
int maxdeglevel0 )

Definition at line 627 of file res-schreyer-frame.cpp.

630{
631 (void) maxdeglevel0;
632 auto& myframe = level(0);
633 long idx = myframe.size();
634 myframe.emplace_back(FrameElement(monom, degree));
635 auto& myelem = myframe[idx];
636
637 auto& myorder = schreyerOrder(0);
638 auto myTotalMonom =
639 monomialBlock().allocate(monoid().monomial_size(myelem.mMonom));
640 // Create the total monomial. It is monom * (firstvar)^(maxdeglevel0-degree)
641 monoid().copy(myelem.mMonom, myTotalMonom);
642 myorder.mTotalMonom.push_back(myTotalMonom);
643}
T * allocate(int len=1)
void copy(res_const_packed_monomial src, res_packed_monomial target) const
int degree(int lev, component_index component) const
SchreyerFrameTypes::FrameElement FrameElement
const ResMonoid & monoid() const
ResMemoryBlock< res_monomial_word > & monomialBlock()
std::vector< FrameElement > & level(int lev)
ResSchreyerOrder & schreyerOrder(int lev)

References ResMemoryBlock< T, NSLAB >::allocate(), ResMonoidDense::copy(), degree(), level(), monoid(), monomialBlock(), and schreyerOrder().