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

◆ find_all_divisors1()

template<typename Key>
void ResF4MonomialLookupTableT< Key >::find_all_divisors1 ( mi_node * mi,
const_ntuple_monomial exp,
VECTOR(Key) & result_k ) const
private

Definition at line 207 of file res-f4-monlookup.cpp.

211{
212 mi_node *p = mi;
213
214 for (;;)
215 {
216 p = p->right;
217
218 if (p == p->header)
219 {
220 if ((p = p->down()) == nullptr) return;
221 continue;
222 }
223
224 if (p->exp > exp[p->var])
225 {
226 if ((p = p->header->down()) == nullptr) return;
227 continue;
228 }
229
230 if (p->tag == mi_node::leaf)
231 {
232 result_k.push_back(p->key());
233 }
234 else
235 p = p->down();
236 }
237}

References ResF4MonomialLookupTableT< Key >::mi_node::leaf, and p.

Referenced by find_all_divisors_packed(), and find_all_divisors_vp().