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

◆ add()

void vecHeap::add ( vecterm * p)
inline

Definition at line 93 of file geovec.hpp.

94{
95 mLead = -1;
96 int len = K->n_nonzero_terms(p);
97 int i = 0;
98 while (len >= heap_size[i]) i++;
99 K->add_vec_to(heap[i], p);
100 len = K->n_nonzero_terms(heap[i]);
101 p = NULL;
102 while (len >= heap_size[i])
103 {
104 i++;
105 K->add_vec_to(heap[i], heap[i - 1]);
106 len = K->n_nonzero_terms(heap[i]);
107 heap[i - 1] = NULL;
108 }
109 if (i > top_of_heap) top_of_heap = i;
110}
int mLead
Definition geovec.hpp:55
const Ring * K
Definition geovec.hpp:52
vecterm * heap[GEOHEAP_SIZE]
Definition geovec.hpp:53
int top_of_heap
Definition geovec.hpp:54
const int heap_size[GEOHEAP_SIZE]
Definition engine.cpp:53
int p

References heap, heap_size, K, mLead, p, and top_of_heap.

Referenced by Ring::tensor(), res2_poly::to_vector(), and res_poly::to_vector().