Definition at line 391 of file gb-homog2.cpp.
392{
394 {
396 return;
397 }
398 gbvector head;
401
403 int count = 0;
405 {
406 buffer o;
407 o << "reducing ";
408 _GR->gbvector_text_out(o,
_F, f);
410 }
411 while (f != nullptr)
412 {
414 _GR->gbvector_get_lead_exponents(
_F, f, div_totalexp);
416 originalR->get_quotient_monomials()->search_expvector(div_totalexp,
417 b))
418 {
420 _GR->gbvector_reduce_lead_term(
_F,
_Fsyz, head.
next, f, fsyz, g,
nullptr);
421 count++;
423 }
424 else if (_monideals[f->
comp]->mi_search->search_expvector(div_totalexp,
425 b))
426 {
427 gb_elem *q =
reinterpret_cast<gb_elem *
>(b->
basis_ptr());
428 _GR->gbvector_reduce_lead_term(
430 count++;
433 {
434 buffer o;
435 o << " reduced by ";
436 _GR->gbvector_text_out(o,
_F, q->
f);
438 o << " giving ";
439 _GR->gbvector_text_out(o,
_F, f);
442 }
443 }
444 else
445 {
450 }
451 }
452
454 {
455 buffer o;
456 o << "." << count;
458 }
461}
exponents::Exponents exponents_t
void gb_geo_reduce(gbvector *&f, gbvector *&fsyz)
const PolynomialRing * originalR
@ STRATEGY_LONGPOLYNOMIALS
VALGRIND_MAKE_MEM_DEFINED & result(result)
#define newarray_atomic(T, len)
void emit_wrapped(const char *s)
void emit_line(const char *s)
References _F, _Fsyz, _GR, _M, _n_reductions, _strategy, int_bag::basis_elem(), int_bag::basis_ptr(), gbvector::comp, emit(), emit_line(), emit_wrapped(), gb_elem::f, freemem(), gb_elem::fsyz, gb_geo_reduce(), M2_gbTrace, newarray_atomic, newline, gbvector::next, originalR, result(), buffer::str(), and STRATEGY_LONGPOLYNOMIALS.
Referenced by contains(), gen_step(), matrix_lift(), matrix_remainder(), and s_pair_step().