Definition at line 1554 of file res-a0.cpp.
1555{
1556
1559
1560 res2term *lastterm = (fsyz->
next ==
nullptr ? fsyz : fsyz->
next);
1561 res2_pair *q;
1562 ring_elem rg;
1564
1565 fb.add(f);
1566 f = nullptr;
1567 res2term *lead;
1568
1569 int count = 0;
1571
1572 while ((lead = fb.remove_lead_term()) != nullptr)
1573 {
1575 M->to_expvector(REDUCE_mon, REDUCE_exp);
1577 {
1578
1579 Nterm *r = rg;
1581 ring_elem c =
K->negate(lead->
coeff);
1582 res2term *h =
1583 R->ring_mult_by_term(r->
next, c, REDUCE_mon, lead->
comp);
1586 fb.add(h);
1588 count++;
1589 }
1591 {
1592 ring_elem c =
K->negate(lead->
coeff);
1595 lastterm->
next =
R->new_term(c, lead->
monom, q);
1596 lastterm = lastterm->
next;
1598 fb.add(h);
1600 count++;
1601 }
1602 else
1603 {
1605 }
1606 }
1607 f = nullptr;
1609 {
1610 buffer o;
1611 o << count;
1613 }
1614 return nullptr;
1615}
exponents::Exponents exponents_t
int find_ring_divisor(const int *exp, ring_elem &result) const
int find_divisor(const MonomialIdeal *mi, const int *exp, res2_pair *&result)
#define ALLOCATE_EXPONENTS(byte_len)
#define ALLOCATE_MONOMIAL(byte_len)
geobucket< const res2_poly, res2term * > respolyHeap
void emit_wrapped(const char *s)
References geobucket< FREEMODULETYPE, VECTYPE >::add(), ALLOCATE_EXPONENTS, ALLOCATE_MONOMIAL, res2term::coeff, res2term::comp, emit_wrapped(), exp_size, find_divisor(), find_ring_divisor(), K, M, M2_gbTrace, res2_pair::mi, Nterm::monom, res2term::monom, monom_size, monomial, Nterm::next, res2term::next, res2_pair::pivot_term, R, geobucket< FREEMODULETYPE, VECTYPE >::remove_lead_term(), buffer::str(), res2_pair::syz, and total_reduce_count.
Referenced by handle_pair_by_level().