96 int len =
K->n_nonzero_terms(
p);
100 len =
K->n_nonzero_terms(
heap[i]);
106 len =
K->n_nonzero_terms(
heap[i]);
114 int cmp = t->
comp -
s->comp;
115 if (cmp < 0)
return LT;
116 if (cmp > 0)
return GT;
122 int lead_so_far = -1;
125 if (
heap[i] == NULL)
continue;
132 if (cmp ==
GT)
continue;
139 K->add_to(
heap[lead_so_far]->coeff,
heap[i]->coeff);
145 if (
K->is_zero(
heap[lead_so_far]->coeff))
148 tmp =
heap[lead_so_far];
157 if (lead_so_far < 0)
return NULL;
164 if (
mLead < 0)
return NULL;
177 if (
heap[i] == NULL)
continue;
189 if (
heap[i] == NULL)
continue;
Engine-side free module R^n over a Ring.
const vecterm * get_lead_term()
vecterm * debug_list(int i)
vecterm * current_value() const
const FreeModule * get_target() const
vecterm * heap[GEOHEAP_SIZE]
vecHeap(const FreeModule *F)
vecterm * remove_lead_term()
const int heap_size[GEOHEAP_SIZE]
static int compare(const vecterm *t, const vecterm *s)
VALGRIND_MAKE_MEM_DEFINED & result(result)