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

◆ gb_sort_partition()

int gb2_comp::gb_sort_partition ( int lo,
int hi )
private

Definition at line 155 of file res-a2-gb.cpp.

156{
157 gb_elem *pivot = gb[lo];
158 const int *pivot_monom = pivot->f->monom;
159 int i = lo - 1;
160 int j = hi + 1;
161 for (;;)
162 {
163 do
164 {
165 j--;
166 }
167 while (M->compare(gb[j]->f->monom, pivot_monom) < 0);
168 do
169 {
170 i++;
171 }
172 while (M->compare(gb[i]->f->monom, pivot_monom) > 0);
173
174 if (i < j)
175 {
176 gb_elem *tmp = gb[j];
177 gb[j] = gb[i];
178 gb[i] = tmp;
179 }
180 else
181 return j;
182 }
183}
const Monoid * M
Definition res-a2.hpp:115
void gb(IntermediateBasis &F, int n)
gbvector * f
Definition spair.hpp:58
int monom[1]
Definition gbring.hpp:83

References gb_elem::f, gb(), M, and gbvector::monom.

Referenced by gb_sort().