Definition at line 1997 of file gb-default.cpp.
2022{
2024
2025 gbvector head;
2026 gbvector *frem = &head;
2027
2028 frem->
next =
nullptr;
2029 int count = 0;
2031 while (!
R->gbvector_is_zero(h.
f))
2032 {
2033 int gap;
2034 R->gbvector_get_lead_exponents(
_F, h.
f, EXP);
2037
2038 if (w < 0 || gap > 0)
2039 {
2043 frem->
next =
nullptr;
2044 }
2045 else
2046 {
2048 R->gbvector_reduce_lead_term(
2050 count++;
2051
2053 {
2054 buffer o;
2055 o << " tail reducing by ";
2056 R->gbvector_text_out(o,
_F, g.
f, 2);
2057 o << "\n giving ";
2058 R->gbvector_text_out(o,
_F, h.
f, 3);
2060 }
2061 }
2062 }
2064 R->gbvector_remove_content(h.
f, h.
fsyz, use_denom, denom);
2068 {
2069 buffer o;
2070 o << "number of reduction steps was " << count;
2072 }
2074 {
2075 buffer o;
2076 o << "," << count;
2078 }
2079}
exponents::Exponents exponents_t
int find_good_divisor(exponents_t e, int x, int degf, int &result_gap)
void gb(IntermediateBasis &F, int n)
#define ALLOCATE_EXPONENTS(byte_len)
void emit_wrapped(const char *s)
void emit_line(const char *s)
References _F, _Fsyz, ALLOCATE_EXPONENTS, gbvector::comp, emit_line(), emit_wrapped(), exp_size, POLY::f, find_good_divisor(), POLY::fsyz, gb(), M2_gbTrace, gbvector::next, POLY, PRINT_SPAIR_TRACKING, R, buffer::str(), and x.
Referenced by remainder().