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

◆ find_exact()

MonomialTable::mon_term * MonomialTable::find_exact ( exponents_t exp,
int comp ) const

Definition at line 193 of file montable.cpp.

195{
196 if (comp >= static_cast<int>(_head.size())) return nullptr;
197 mon_term *head = _head[comp];
198 mon_term *t;
199 int i;
200
201 unsigned long expmask = exponents::mask(_nvars, exp);
202
203 for (t = head->_next; t != head; t = t->_next)
204 if (expmask == t->_mask)
205 {
206 bool is_eq = 1;
207 for (i = 0; i < _nvars; i++)
208 if (exp[i] != t->_lead[i])
209 {
210 is_eq = 0;
211 break;
212 }
213 if (is_eq) return t;
214 }
215 return nullptr;
216}
static HashExponent mask(int nvars, ConstExponents a)
Doubly-linked-list node of a MonomialTable's per-component monomial list.
Definition montable.hpp:109

References MonomialTable::mon_term::_lead, MonomialTable::mon_term::_mask, MonomialTable::mon_term::_next, _nvars, and ExponentVector< int, true >::mask().