Implements ReducedGB.
Definition at line 193 of file reducedgb-ZZ.cpp.
194{
195 gbvector *
zero =
nullptr;
196 gbvector head;
197 gbvector *frem = &head;
198 (void) use_denom;
199 (void) denom;
200 frem->
next =
nullptr;
201 gbvector *h = f;
203
204 gbvector *r;
206 while (!
R->gbvector_is_zero(h))
207 {
208 int w;
209 R->gbvector_get_lead_exponents(
F, h, EXP);
212 switch (typ)
213 {
215 r =
const_cast<gbvector *
>(
originalR->quotient_gbvector(w));
217 continue;
218 break;
220 g = polys[w];
222 {
223 buffer o;
224 R->gbvector_text_out(o,
F, h);
225 o <<
newline <<
" divisor " << w <<
" is ";
226 R->gbvector_text_out(o,
F, g.
f);
229 }
231 continue;
232 break;
234 break;
235 }
239 frem->
next =
nullptr;
240 }
242 f = h;
243}
exponents::Exponents exponents_t
enum divisor_type find_divisor(exponents_t exp, int comp, int &result_loc)
const PolynomialRing * originalR
#define ALLOCATE_EXPONENTS(byte_len)
References ALLOCATE_EXPONENTS, gbvector::comp, DIVISOR_MODULE, DIVISOR_NONE, DIVISOR_RING, emit(), ReducedGB::F, POLY::f, find_divisor(), ReducedGB::Fsyz, M2_gbTrace, newline, gbvector::next, ReducedGB::originalR, POLY, ReducedGB::R, buffer::str(), x, and zero.