86 int len =
F->n_terms(
p);
92 F->add_to(tmp1, tmp2);
95 len =
F->n_terms(
heap[i]);
103 F->add_to(tmp1, tmp2);
106 len =
F->n_terms(
heap[i]);
114 int lead_so_far = -1;
117 if (
heap[i] == NULL)
continue;
124 if (cmp ==
GT)
continue;
131 K->add_to(
heap[lead_so_far]->coeff,
heap[i]->coeff);
135 F->remove(
reinterpret_cast<ring_elem &
>(tmp));
137 if (
K->is_zero(
heap[lead_so_far]->coeff))
140 tmp =
heap[lead_so_far];
143 F->remove(
reinterpret_cast<ring_elem &
>(tmp));
148 if (lead_so_far < 0)
return NULL;
160 if (
heap[i] == NULL)
continue;
163 F->add_to(tmp1, tmp2);
Abstract base for the engine's polynomial-ring hierarchy.
Nterm * debug_list(int i)
polyheap(const PolynomialRing *F)
Nterm * heap[GEOHEAP_SIZE]
Nterm * remove_lead_term()
const int heap_size[GEOHEAP_SIZE]
VALGRIND_MAKE_MEM_DEFINED & result(result)
Singly linked-list node carrying one term of a polynomial-ring element.