Definition at line 145 of file montableZZ.cpp.
154{
155 assert(comp >= 1);
156 if (comp >= static_cast<int>(_head.size())) return 0;
159
160 int nmatches = 0;
162
163 for (t = head->_next; t != head; t = t->_next)
164 if ((expmask & t->_mask) == 0)
165 {
166 bool is_div = 1;
167 for (
int i = 0; i <
_nvars; i++)
168 if (exp[i] < t->_lead[i])
169 {
170 is_div = 0;
171 break;
172 }
173 if (is_div && mpz_divisible_p(coeff, t->_coeff))
174 {
175 nmatches++;
177 if (
max >= 0 && nmatches >=
max)
break;
178 }
179 }
181 {
182 buffer o;
183 o << "find_term_divisors called on ";
185 o <<
" #matches=" << nmatches <<
newline;
189 }
190 return nmatches;
191}
void show_mon_term(FILE *fil, mon_term *t) const
VALGRIND_MAKE_MEM_DEFINED & result(result)
static unsigned long monomial_mask(int nvars, exponents_t exp)
MonomialTable::mon_term plus an _coeff slot pointing at the entry's leading ZZ coefficient (or nullpt...
References MonomialTableZZ::mon_term::_coeff, MonomialTableZZ::mon_term::_lead, MonomialTableZZ::mon_term::_mask, MonomialTableZZ::mon_term::_next, _nvars, M2_gbTrace, max, monomial_mask(), newline, result(), and show_mon_term().
Referenced by is_strong_member().