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

◆ unnecessary()

bool MonomialInfo::unnecessary ( const_packed_monomial m,
const_packed_monomial p1,
const_packed_monomial p2,
const_packed_monomial lcm ) const
inline

Definition at line 616 of file moninfo.hpp.

644 {
645 // TODO: MES: this maybe should check that lead components of m and p1 and
646 // p2 are the same...
648 bool A = false;
649 m += firstvar;
650 p1 += firstvar;
651 p2 += firstvar;
652 lcm += firstvar;
653 for (int i = 0; i < nvars; i++)
654 if (m[i] > lcm[i]) return false;
655
656 for (int i = 0; i < nvars; i++)
657 {
658 varpower_word a = lcm[i];
659 if (p1[i] < a && m[i] < a)
660 {
661 A = true;
662 break;
663 }
664 }
665
666 if (!A) return false;
667
668 // Now (b), (A) hold. Check (B).
669 for (int i = 0; i < nvars; i++)
670 {
671 varpower_word a = lcm[i];
672 if (p2[i] < a && m[i] < a) return true;
673 }
674
675 return false;
676 }
unsigned long ncalls_unneccesary
Definition moninfo.hpp:143
int p1
varpower_monomials::Exponent varpower_word

References firstvar, ncalls_unneccesary, nvars, and p1.