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

◆ getBounds()

void SchreyerFrame::getBounds ( int & loDegree,
int & hiDegree,
int & length ) const

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

809{
810 if (mFrame.mLevels.size() == 0 or mFrame.mLevels[0].mElements.size() == 0)
811 {
812 loDegree = 0;
813 hiDegree = -1;
814 length = 0;
815 return;
816 }
817 length = 0;
818 auto& lev0 = level(0);
819 loDegree = hiDegree = static_cast<int>(lev0[0].mDegree);
820 for (int lev = 0; lev < mFrame.mLevels.size(); lev++)
821 {
822 auto& myframe = level(lev);
823 if (myframe.size() == 0) return;
824 length = lev;
825 for (auto p = myframe.begin(); p != myframe.end(); ++p)
826 {
827 int deg = p->mDegree;
828 deg -= lev; // slanted degree
829 if (deg < loDegree) loDegree = deg;
830 if (deg > hiDegree) hiDegree = deg;
831 }
832 }
833 // show();
834}
std::vector< FrameElement > & level(int lev)
int p

References level(), mFrame, and p.

Referenced by computeFrame(), getBettiFrame(), setBettiDisplays(), and start_computation().