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

◆ find_all_divisors()

void MonomialIdeal::find_all_divisors ( const_exponents exp,
VECTOR(Bag *)& b ) const

Definition at line 246 of file monideal.cpp.

247{
248 b.clear();
249 if (mi == nullptr) return;
250
251 Nmi_node *p = mi;
252
253 for (;;)
254 {
255 p = p->right;
256
257 if (p == p->header)
258 {
259 if ((p = p->down()) == nullptr) return;
260 continue;
261 }
262
263 if (p->exp > exp[p->var])
264 {
265 if ((p = p->header->down()) == nullptr) return;
266 continue;
267 }
268
269 if (p->tag == Nmi_node::leaf)
270 {
271 b.push_back(p->baggage());
272 }
273 else
274 p = p->down();
275 }
276}
Nmi_node * mi
Definition monideal.hpp:138
int p

References Nmi_node::leaf, mi, and p.

Referenced by GBKernelComputation::find_divisor(), res2_comp::find_divisor(), and Matrix::koszul_monomials().